私は次のようなレコードを持っている:
{ _id : 1 , data : [7,4,0] }
{ _id : 2 , data : [4,5,6] }
{ _id : 3 , data : [6,7,8] }
私は2つのデータ・アレイ組合にしたいです。
私は、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}
これはid1のみのデータです。
同じ配列フィールドで2つ以上のドキュメント間の結合を達成する方法はありますか?
PS:私はちょうどs1
ため$last
の代わり$first
を使用
交差点を実行したい場合、初期値は空になり、結果は空になりますが、入力はネストされた配列です – Ars