【发布时间】:2017-07-06 15:03:49
【问题描述】:
我在一个集合中有如下文档:
{ _id : 1 , data : [7,4,0] }
{ _id : 2 , data : [4,5,6] }
{ _id : 3 , data : [6,7,8] }
我想合并两个或多个文档中的 data 数组。
我用来查找id 1 和2 的data 数组的并集的查询是:
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
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework