2つの配列のIDを使用して1つのコレクション内のデータを結合したいと思います。同じドキュメントで配列を結合するには?
例を以下に示します。
{
"_id": ObjectId ("5976fd2eb0adec0a32fa9831"),
"People": [
{
"_id": 1, <--- ID
"Name": "jane"
},
{
"_id": 2, <--- ID
"Name": "Mark"
}
],
"Contents": [
{
"userID": 2, <--- People ID
"Text": "111"
},
{
"userID": 1, <--- People ID
"Text": "Hi"
}
]
}
以下のようにしたいと思います。
{
"_id": ObjectId ("5976fd2eb0adec0a32fa9831"),
"People": [
{
"_id": 1,
"Name" : "Jane"
},
{
"_id": 2,
"Name": "Mark"
}
],
"Contents": [
{
"userID": 2,
"Name": "Mark", <-- Adding
"Text": "111",
},
{
"userID": 1,
"Name": "Jane", <-- Adding
"Text": "Hi",
}
]
}
私は.aggregate()
の$lookup
または$unwind
のような様々なものを試してみましたが、私は結果を得ることができません。
を読んで解釈するの目に、一般的に少し楽であるあなたがしようとしたことがありこのリンク?私はそれが助けてくれることを願っています。https://stackoverflow.com/questions/37086387/join-two-collections-on-mutiple-field-using-lookupそしてhttps://www.sitepoint.com/using-joins-in- mongodb-nosql-databases/ – Tehmina
@Tehmina同じ文書内の項目間に「自己結合」する必要はありません。実際には効率が悪く、効果的にコレクションを再クエリする必要はなく、実際にはこれを実行する非常に効果的な方法があります。 –