MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

MongoDB में आयु की गणना करने के लिए दिनांक अंतर को वर्षों में बदलें

अपडेट:MongoDB 5.0 समाधान, लीप वर्ष पर भी विचार करेगा

db.collection.aggregate([
  { $addFields:
    { age: { $dateDiff: { startDate: "$dob", endDate: "$$NOW", unit: "year" } } }
  }
])

अद्यतन:हम केवल एकत्रीकरण ऑपरेटरों को जोड़ सकते हैं। ध्यान दें कि यह समाधान सटीक परिणाम नहीं देगा क्योंकि यह लीप वर्ष नहीं मानता

db.getCollection('person').aggregate( [ { 
    $project: { 
        date:"$demographics.DOB", 
        age: { 
            $divide: [{$subtract: [ new Date(), "$Demographics.DOB" ] }, 
                    (365 * 24*60*60*1000)]
        } 
     } 
} ] )

$let . के साथ पुराना समाधान

मैं $let . के साथ समस्या का समाधान करने में सक्षम था अभिव्यक्ति

db.getCollection('person').aggregate( [ { 
    $project: { 
        item: 1, 
        date:"$demographics.DOB", 
        age: { 
            $let:{
                vars:{
                    diff: { 
                        $subtract: [ new Date(), "$demographics.DOB" ] 
                    }
                },
                in: {
                    $divide: ["$$diff", (365 * 24*60*60*1000)]
                }
            }
        } 
     } 
} ] )


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नेवला:उपयोगकर्ताओं की पूरी सूची प्राप्त करें

  2. MongoDB वैकल्पिक अद्वितीय सूचकांक

  3. मोंगोडब पुराना संग्रह लौटाता है

  4. नेवला से संग्रह की एक सूची प्राप्त करने की कोशिश कर रहा

  5. रूबी मोंगो ड्राइवर:दिनांक अंतराल कैसे देखें?