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

Mongoose में प्रदान की गई शर्तों के सरणी में आइटमों के क्रम से क्वेरी परिणामों को छाँटना

निम्नलिखित डेटा को ध्यान में रखते हुए:

db.col.save({ a: "111"})
db.col.save({ a: "112"})
db.col.save({ a: "113"})
db.col.save({ a: "114"})

आप एग्रीगेशन फ्रेमवर्क के $match का उपयोग कर सकते हैं उन सभी आइटम को फ़िल्टर करने के लिए जो निर्दिष्ट सरणी में मौजूद नहीं हैं और $addFields $indexOfArray के साथ index प्राप्त करने के लिए संपत्ति। फिर आप $sort कर सकते हैं उस संपत्ति द्वारा और $project का उपयोग करें अस्थायी क्षेत्र को हटाने के लिए। कोशिश करें:

db.col.aggregate([
    {
        $match: { a: { $in: ["112", "111", "113"] } }
    },
    {
        $addFields: {
            index: { $indexOfArray: [ ["112", "111", "113"], "$a" ] }
        }
    },
    {
        $sort: { index: 1 }
    },
    {
        $project: { index: 0, _id: 0 }
    }
])

आउटपुट:

{ "a" : "112" }
{ "a" : "111" }
{ "a" : "113" }



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. स्प्रिंग डेटा और QueryDSL का उपयोग करके MongoDb क्वेरी पर प्रोजेक्शन

  2. MongoDB से csv में एक सरणी निर्यात करें

  3. नेवला, कुल में दो अलग-अलग क्षेत्रों का मिलान करें?

  4. जब मैं दस्तावेज़ जोड़ता हूं तो क्या मोंगोडीबी कर्सर स्वतः बढ़ता है?

  5. संग्रह/वस्तु में खोजें - सेलजेएस और वाटरलाइन ओआरएम