ধরুন আমার সংগ্রহে আপনার কাছে নিম্নলিখিত নথি রয়েছে:
{
"_id":ObjectId("562e7c594c12942f08fe4192"),
"shapes":[
{
"shape":"square",
"color":"blue"
},
{
"shape":"circle",
"color":"red"
}
]
},
{
"_id":ObjectId("562e7c594c12942f08fe4193"),
"shapes":[
{
"shape":"square",
"color":"black"
},
{
"shape":"circle",
"color":"green"
}
]
}
জিজ্ঞাসা করুন:
db.test.find({"shapes.color": "red"}, {"shapes.color": 1})
অথবা
db.test.find({shapes: {"$elemMatch": {color: "red"}}}, {"shapes.color": 1})
মেলে নথিটি (নথি 1) , কিন্তু সর্বদা এখানে অ্যারে আইটেমগুলির সাথে ফিরে আসে shapes
:
{ "shapes":
[
{"shape": "square", "color": "blue"},
{"shape": "circle", "color": "red"}
]
}
তবে, আমি কেবলমাত্র অ্যারেতে ডকুমেন্টটি (ডকুমেন্ট 1) পেতে চাই color=red
:
{ "shapes":
[
{"shape": "circle", "color": "red"}
]
}
কিভাবে আমি এটি করতে পারব?