【发布时间】:2019-02-15 11:31:04
【问题描述】:
我有一个包含嵌套数组的文档,但我不知道如何从 a 字段中选择。
我想选择“组件”具有“桅杆”的所有文档。
我试过了。
db.sites.find({"components": "mast" }).pretty();
db.sites.find({"components.$": "mast" } ).pretty();
db.sites.find({"components.$.$": "mast" } ).pretty();
db.sites.find({"components.$.$.mast": {$exists: true} }).pretty();
db.sites.find({"components.$.mast": {$exists: true} }).pretty();
db.sites.find({"components.mast": {$exists: true} } ).pretty();
还有很多其他失败的尝试。
{
"_id" : ObjectId("23456yujbvfdfg"),
"d": 1234567,
"components" : [
[
"mast",
{
"foo":"bar"
}
],
[
"commsbox",
{
"BLARN": "bAAA"
}
]
]
}
我的尝试只返回空白结果。
【问题讨论】:
-
如果组件是一个对象数组呢?您的查询是预期的。对我来说似乎是一个数据建模错误。