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

किसी सरणी के उप सरणी को कुछ मानदंडों द्वारा फ़िल्टर करें

आपको बस एक $filter . की आवश्यकता है एक $map . के अंदर :

db.junk.aggregate([
  { "$project": {
    "someArray": {
      "$filter": {
        "input": {
          "$map": {
            "input": "$someArray",
             "as": "some",
             "in": {
               "subId": "$$some.subId",
               "subArray": {
                 "$filter": {
                   "input": "$$some.subArray",
                   "as": "sub",
                   "cond": { "$ne": [ "$$sub.filterMe", "YES" ] }
                 }
               }
             }
          }
        },
        "as": "some",
        "cond": { "$gt": [ { "$size": "$$some.subArray" }, 0 ] }
      }
    }
  }}
])

उत्पादन:

{
        "_id" : "someId",
        "someArray" : [
                {
                        "subId" : 1,
                        "subArray" : [
                                {
                                        "field1" : "A",
                                        "filterMe" : "NO"
                                }
                        ]
                },
                {
                        "subId" : 2,
                        "subArray" : [
                                {
                                        "field1" : "D",
                                        "filterMe" : "NO"
                                }
                        ]
                }
        ]
}

मैं वास्तव में इसे एक अतिरिक्त $filter . में लपेटता हूं किसी भी someArray . को हटाने के लिए प्रविष्टियाँ जहाँ फ़िल्टर किया गया subArray परिणामस्वरूप खाली हो गया। आप जो करना चाहते हैं, उसके आधार पर माइलेज अलग-अलग हो सकता है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB किस स्तर पर लिखता है? (या:प्रति कनेक्शन से इसका क्या मतलब है

  2. नेवला (Nodejs) बहुवचन नियम क्या हैं?

  3. SQL DB की तुलना में MongoDB बहुत तेज़ क्यों है, इसके लिए कोई विस्तृत और विशिष्ट कारण?

  4. Mac पर mkdir /data/db का प्रयास करते समय केवल-पढ़ने के लिए फ़ाइल सिस्टम

  5. ClusterControl सलाहकारों के साथ MongoDB की निगरानी और सुरक्षा