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"
}
]
}
ありがとうございます。 また、インデックスがわからない場合は、ネストされた配列の値を見つける方法も教えてください。
db.test.find(
{'someArray.someNestedArray.fame.goal':'goal_1'},
{"someArray.someNestedArray.fame.goal":1,"_id":0}
)
そして、あなたが得る:私が行っている クエリは、ちょうどこの次のクエリを使用することができる配列要素の位置(someArray.0.someNestedArray.1.fame.0.goal)
check [mongodb位置演算子](https://docs.mongodb.com/manual/reference/operator/update/positional/) –
位置$演算子は、複数の配列を走査するクエリには使用できません。 $プレースホルダの置き換えが単一の値であるため、他の配列にネストされた配列を横断するクエリ。 –