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

Mongodb एकाधिक उप सरणी परिणाम लौटा रहा है और अन्य लौटाए गए परिणामों को छोड़कर

आपको जो चाहिए वह है "aggregation" और $map और $setDifference कोड> ऑपरेटरों

db.collection.aggregate([ 
    { 
        "$match": { 
            "node.-user": "Zulu99", 
            "node.-lat": "-37.6787103" 
        }
    },
    { 
        "$project": { 
            "node": { 
                "$setDifference": [{ 
                    "$map": { 
                        "input": "$node",
                        "as": "n", 
                        "in": { 
                            "$cond": [
                                { "$eq": [ "$$n.-user", "Zulu99" ]}, 
                                "$$n", 
                                false 
                            ]
                        } 
                    }
                }, 
                [false]]
            }
        }
    }
])

MongoDB 3.2 से आप $filter . का उपयोग कर सकते हैं ऑपरेटर

db.collection.aggregate([
    { 
        "$match":  { 
            "node.-user": "Zulu99",
            "node.-lat": "-37.6787103"
        }
    }, 
    { "$project": {
        "node": {
            "$filter": {
                "input": "$node",
                "as": "n",
                "cond": { "$eq": [ "$$node.n", "Zulu99" ] }
            }
        }
    }}
])

जो पैदावार:

{
        "_id" : ObjectId("55acf6187d4c31475417fa62"),
        "node" : [
                {
                        "-id" : "60648717",
                        "-uid" : "46482",
                        "-user" : "Zulu99",
                        "-lat" : "-37.6796337",
                        "-lon" : "144.9220639",
                        "-timestamp" : "2009-12-12T21:29:36Z",
                        "-visible" : "true",
                        "-version" : "2",
                        "-changeset" : "3358816"
                },
                {
                        "-id" : "60648718",
                        "-timestamp" : "2009-12-12T21:29:35Z",
                        "-uid" : "46482",
                        "-version" : "2",
                        "-changeset" : "3358816",
                        "-user" : "Zulu99",
                        "-visible" : "true",
                        "-lat" : "-37.6787103",
                        "-lon" : "144.9224609"
                }
        ]
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - मैं <field_value> के साथ <field_key> के रूप में दस्तावेज़ कैसे वापस कर सकता हूँ?

  2. Strapi Heroku परिनियोजन MongoDB से कनेक्ट करने में विफल रहता है

  3. मोंगोडब बल्क राइट एरर

  4. मोंगोडीबी $isoDayOfWeek

  5. मुझे यह त्रुटि मिलती है कि मुझे समझ में नहीं आता क्यों, मेरे एमवीसी प्रोजेक्ट में नोआरएम और मोंगो का उपयोग करना