[英]MongoDB query with embedded document in array (3 levels)
我的MongoDB数据库中有这些数据,我只想获得有关刀片的第二个阵列。
{
"_id" : ObjectId("..."),
"name" : "Westereems",
"country" : "Netherlands",
"turbines" : [
{
"turbine_id" : ObjectId("..."),
"blades" : [
{
"blade_id" : ObjectId("..."),
"position" : 2,
"size" : 50,
}
]
}
]
}
我只想要一个带有blade_id,位置和大小的退货。 我尝试了此查询,但没有得到预期的结果:
db.collection("windfarms").find({"turbines.blades.blade_id" : ObjectId("...")}, {"turbines.blades.$" : 1, "_id" : 0})
问候,
您可以使用此查询,它不是用于大型数组项目的最佳查询,但是如果只有上面的项目,则可以使用它。
您还可以使用聚合使其更优化。
db.collection("windfarms").find({"turbines.blades.blade_id" : ObjectId("...")}, {"turbines.blades.blade_id":1,"turbines.blades.position":1,"turbines.blades.size":1,"_id":0})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.