2
{
"_id" : 123,
"someKey" : "someValue",
"someArray" : [
{
"name" : "name1",
"someNestedArray" : [
{
"name" : "value_1",
"fame" : [
{
"goal" : "goal_1"
}
]
},
{
"name" : "value_2",
"fame" : [
{
"goal" : "goal_2"
}
]
}
]
}
]
}
我做了查詢,如:提取特定元素MongoDB中的嵌套數組
db.getCollection('city').find({"someArray.0.someNestedArray.1.fame.0.goal":"goal_2"},{"someArray.0.someNestedArray.":1})
但得到的輸出爲:
{
"_id" : 123,
"someArray" : [
{}
]
}
是什麼讓輸出作爲查詢:
{
"fame" : [
{
"goal" : "goal_2"
}
]
}
在此先感謝。 同時告訴如何在不知道索引時在嵌套數組中找到值。 我也做了查詢指定數組元素的位置(someArray.0.someNestedArray.1.fame.0.goal)
檢查[mongodb位置運算符](https://docs.mongodb.com/manual/reference/operator/update/positional/) –
位置$運算符不能用於遍歷多個數組的查詢,例如查詢嵌套在其他數組中的遍歷數組的查詢,因爲替換$ placeholder是單個值。 –