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

मोंगोडब:एक सरणी में नेस्टेड एक जेसन-ऑब्जेक्ट को क्वेरी करें

स्थितीय ऑपरेटर का उपयोग करना

db.test.find(
    { "array.value": "value2" },
    { "array.$": 1, _id : 0 }
)

आउटपुट

{ "array" : [ { "name" : "test2", "value" : "value2" } ] }

एकत्रीकरण का उपयोग करना

db.test.aggregate([
    { $unwind : "$array"},
    { $match : {"array.value" : "value2"}},
    { $project : { _id : 0, array : 1}}
])

आउटपुट

{ "array" : { "name" : "test2", "value" : "value2" } }

जावा ड्राइवर का उपयोग करना

    MongoClient mongoClient = new MongoClient(new ServerAddress("localhost", 27017));
    DB db = mongoClient.getDB("mydb");
    DBCollection collection = db.getCollection("test");

    DBObject unwind = new BasicDBObject("$unwind", "$array");
    DBObject match = new BasicDBObject("$match", new BasicDBObject(
            "array.value", "value2"));
    DBObject project = new BasicDBObject("$project", new BasicDBObject(
            "_id", 0).append("array", 1));

    List<DBObject> pipeline = Arrays.asList(unwind, match, project);
    AggregationOutput output = collection.aggregate(pipeline);

    Iterable<DBObject> results = output.results();

    for (DBObject result : results) {
        System.out.println(result.get("array"));
    }

आउटपुट

{ "name" : "test2" , "value" : "value2"}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. कैसे HideIndex () MongoDB में काम करता है

  2. [इन्फोग्राफिक] कैसेंड्रा बनाम मोंगोडीबी की तुलना करना

  3. मोंगोडब में डिफ़ॉल्ट रूप से एक विशिष्ट डेटाबेस से कनेक्ट करें

  4. नेस्टेड दस्तावेज़ में योग MongoDB

  5. एक pymongo.cursor.Cursor को एक तानाशाही में कैसे बदलें?