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

मोंगोडब में मूल कुंजी को जाने बिना विशिष्ट नेस्टेड ऑब्जेक्ट कैसे खोजें?

आप $objectToArray का उपयोग कर सकते हैं (mongoDB 3.4.4 और ऊपर), $filter ए> और $project और कुछ इस तरह प्राप्त करें:

db.collection.aggregate([
  {
    $project: {
      obj: {
        $objectToArray: "$info"
      }
    }
  },
  {
    $project: {
      _id: 0,
      obj: {
        $filter: {
          input: "$obj",
          as: "item",
          cond: {
            $eq: [
              "$$item.v.city",
              "NY"
            ]
          }
        }
      }
    }
  },
  {
    $project: {
      info: {
        $arrayToObject: "$obj"
      }
    }
  },
])

आप इसे यहां काम करते हुए देख सकते हैं

विचार वस्तु को सरणी में तोड़ना, उसे फ़िल्टर करना और फिर उस सरणी को वापस वस्तु में बदलना है।

मैंने city . पर फ़िल्टर किया लेकिन मुझे यकीन है कि आपको यह विचार मिल गया है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB के साथ ASP.NET कोर 3.1 पहचान को कैसे कार्यान्वित करें?

  2. MongoDB oplog में प्रमुख नामों में डॉट्स वाले रिकॉर्ड हैं, जिनके लिए पूछताछ नहीं की जा सकती है

  3. समूह गणना के साथ $group परिणाम प्राप्त करना

  4. 'MongoDB.Driver.IMongoCollection<>' से 'System.Collections.Generic.IEnumerable<>' में कनवर्ट नहीं किया जा सकता

  5. एक असली MongoDB के खिलाफ पायथन ईव रेस्टफुल एपीआई के लिए लेखन परीक्षण