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

सरणी लंबाई के आधार पर छाँटें

एग्रीगेशन फ्रेमवर्क का उपयोग $size MongoDB 2.6 और ऊपर से ऑपरेटर:

db.collection.aggregate([
    // Project with an array length
    { "$project": {
        "title": 1,
        "author": 1,
        "votes": 1,
        "length": { "$size": "$votes" }
    }},

    // Sort on the "length"
    { "$sort": { "length": -1 } },

    // Project if you really want
    { "$project": {
        "title": 1,
        "author": 1,
        "votes": 1,
    }}
])

काफी सरल।

यदि आपके पास संस्करण 2.6 उपलब्ध नहीं है, तब भी आप इसे थोड़े और काम के साथ कर सकते हैं:

db.collection.aggregate([
    // unwind the array
    { "$unwind": "$votes" },

    // Group back
    { "$group": {
        "_id": "$id",
        "title": { "$first": "$title" },
        "author": { "$first": "$author" },
        "votes": { "$push": "$votes" },
        "length": { "$sum": 1 }
    }},

    // Sort again
    { "$sort": { "length": -1 } },

    // Project if you want to
    { "$project": {
        "title": 1,
        "author": 1,
        "votes": 1,
    }}
])

बस इतना ही।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Nodejs mongodb देशी ड्राइवर में एक स्ट्रिंग को ObjectId में कैसे बदलें?

  2. mongodb अद्यतन में शून्य सेट करें

  3. पूर्ण मिलान पर प्राथमिकता के साथ मोंगोडब कुल मिलान क्वेरी

  4. स्प्रिंग डेटा MongoDB का परिचय

  5. MongoDB समूह () फ़ंक्शन में डबल के बजाय लंबा संचायक