1
検索を行う前に配列を巻き戻さなければならないのは分かっていますが、検索を実行する前に他のドキュメントの配列を巻き戻す方法はありますか?今は値が入っている配列全体を取得しています。
代わりの解決策として、完全な配列をフィルタリングして、各ドキュメントで参照している値のみを保持する方法はありますか?
EDIT:この例では例として
COLLECTION AAA
{
array:[
{_id:01},
{_id:02}
]
}
COLLECTION BBB
{
array:[
{AAA_id:01},
{AAA_id:02}
]
}
私はリンクされた値を取得するには、このコードを使用します。
db.BBB.aggregate(
{$unwind: '$array'},
{
$lookup:
{
from: "AAA",
localField: "array.AAA_id",
foreignField: "array._id",
as: "linked"
}
}
)
しかし、私はこのような何かされているであろう:
を{
array:[
{AAA_id:01}
]
linked:[
{_id:01},
{_id:02}
]
}
{
array:[
{AAA_id:02}
]
linked:[
{_id:01},
{_id:02}
]
}
代わりに、
{
array:[
{AAA_id:01}
]
linked:[
{_id:01}
]
}
{
array:[
{AAA_id:02}
]
linked:[
{_id:02}
]
}
あなたの質問は広すぎます。 [最小、完全、および検証可能な例](http://stackoverflow.com/help/mcve) – styvane
を入力してください。ありがとう。 – Vonmood