我想使用兩個數組的ID將數據合併到一個集合中。如何在同一文檔中連接數組?
一個例子如下所示。
{
"_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",
}
]
}
我已經試過各種事情像$lookup
或.aggregate()
$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應該不需要在同一文檔中的項目之間進行「自聯接」。這實際上效率低下,實際上有非常有效的方法來做到這一點,而不需要有效地「重新查詢」集合。 –