$ matchと$ projectの後に、次のドキュメント構造があります。
{
"_id" : ObjectId("5a764de08337490ff57c7dc1"),
"Lote" : "id", --> Unique Index
"Planning" : [
{MainField:10, field1:value, field2:value},
{MainField:20,...},
{MainField:30...}
],
"Request" : [
{MainField:10, field1:value, field2:value},
{MainField:20,...},
{MainField:30...}],
]
}
プランニングとリクエストは配列です。
両方の配列を$ unwindしてから、Planning.MainField === Request.MainFieldのドキュメントのみを保持するのが好きです。
まず、私が考えている解決策は、両方のアレイを結合することです。これは「長期的な」解決策です。
できればアグリゲーションで遊んでみたいです。
ありがとう。
$expr
ドキュメント内のフィールドを照合するために使用できます
db.collection.aggregate([
{ "$unwind": "$Planning" },
{ "$unwind": "$Request" },
{ "$match": { "$expr":
{ "$eq": ["$Planning.MainField", "$Request.MainField"] }
}}
])
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加