我有一個記錄,如下列:
{ _id : 1 , data : [7,4,0] }
{ _id : 2 , data : [4,5,6] }
{ _id : 3 , data : [6,7,8] }
我想聯盟的兩個數據陣列。
例如,如果我想找到id爲1和2的數據陣列的工會,我使用的查詢是:
db.coll.aggregate(
{
$match : {
_id: { $in: [1, 2] }
}
},
{
$group: {
_id: 0,
s0: { $first: "$data"},
s1: { $first: "$data"}
}
},
{
$project: {
_id: 0,
ans: { $setUnion: [ "$s0","$s1"]}
}
}
).pretty()
但答案只有
{7, 5,0}
這是僅id 1的數據。
如何實現同一數組字段上的兩個或多個文檔之間的聯合?
PS:我使用MongoDB的3.4
如果我想要交集,那麼初始值將是空的,結果將是空的,但輸入是嵌套數組 – Ars