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

MongoDB में नेस्टेड $addFields

चूंकि आप $unwind . का उपयोग कर रहे हैं आप $match . जोड़कर इसे आसानी से कर सकते हैं अभिव्यक्ति के बाद से:"inquiries.routeHistory.status": "ended" true लौटाएगा अगर कोई कोई है routeHistory में दस्तावेज़ ऐसी स्थिति होना:

db.collection.aggregate([
    {
        $unwind: "$inquiries"
    },
    {
        $match: {
            "inquiries.routeHistory.status": "ended"
        }
    },
    {
        $addFields: {
            "inquiries.routeHistory": {
                $filter: {
                    input: "$inquiries.routeHistory",
                    cond: {
                        $eq: [ { $max: "$inquiries.routeHistory.routeDate" }, "$$this.routeDate" ]
                    }
                }
            }
        }
    },
    {
        $group: {
            _id: "$_id",
            callId: { $first: "$callId" },
            caller: { $first: "$caller" },
            inquiries: { $push: "$inquiries" }
        }
    }
])

मोंगो प्लेग्राउंड




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. ऑब्जेक्टिड का मोंगोडब हिस्सा अद्वितीय होने की संभावना है

  2. सिद्धांत ODM के साथ MongoDB में एम्बेडेड दस्तावेज़ को कैसे अपडेट करें?

  3. दो क्षेत्रों के साथ MongoDB कुल सरणी

  4. MongoDb jndi . के माध्यम से

  5. क्या तेज़ है:MongoDB/Mongoose में `find().limit(1)` या `findOne()`?