> db.test.insert({"a" : { "b" : { "c" : { "d1" : [ "e1" ],
"d2" : [ "e2" ],
"d3" : [ "e3", "e4" ],
"d4" : [ "e5", "e6" ] } } } })
> db.test.find({'a.b.c' : {$exists : true}})
{ "_id" : ObjectId("4daf2ccd697ebaacb10976ec"), "a" : { "b" : { "c" : { "d1" : [ "e1" ], "d2" : [ "e2" ], "d3" : [ "e3", "e4" ], "d4" : [ "e5", "e6" ] } } } }
में लेकिन इन में से कोई भी काम:
> db.test.find({'a.b': "c"})
> db.test.find({'a.b': {$elemMatch : {"c" : {$exists: true}}}})
> db.test.find({'a.b': {$elemMatch : {$elemMatch : {$all : ["e1"] }}}})
मान लीजिए मैं नहीं जानता कि क्या c
और d1
... d4
के मूल्यों कर रहे हैं। क्या विशेष मूल्यों के लिए नेस्टेड-ऑब्जेक्ट्स संरचना को खोजने का एक सामान्य तरीका है?
मैंने सोचा कि $elemMatch
क्या था।
धन्यवाद।
$ elemMatch देखें [प्रलेखन] (http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24elemMatch)। –