JSON टॉपलेवल को एक सरणी होने की अनुमति नहीं देता है, इसलिए एक सामान्य क्वेरी इसकी अनुमति नहीं देती है। हालांकि आप इसे एकत्रीकरण ढांचे के साथ कर सकते हैं:
> db.test.remove();
> db.test.insert({ name: "Andrew", attributes: [ { title: "Happy"}, { title: "Sad" } ] });
> foo = db.test.aggregate( { $match: { name: "Andrew" } }, { $unwind: "$attributes" }, { $project: { _id: 0, title: "$attributes.title" } } );
{
"result" : [
{
"title" : "Happy"
},
{
"title" : "Sad"
}
],
"ok" : 1
}
> foo.result
[ { "title" : "Happy" }, { "title" : "Sad" } ]
हालांकि, यह एक कर्सर ऑब्जेक्ट नहीं बनाता है जो खोज करता है।