如何获取不在集合中的元素?
How to get the element that not in collection?
假设我有一个集合{key:1},{key:2},{key:3}
我有一些数组[1,2,3,4,5,6,7]
我想获取集合中没有的元素
在此示例中,它将打印 4,5,6,7
可能吗?
您可以使用$setDifference
,
$group
by null,在elem
, 中创建一个元素数组
$project
使用 $setDifference
创建元素差异
db.collection.aggregate([
{
$group: {
_id: null,
elem: { $push: "$key" }
}
},
{
$project: {
elem: { $setDifference: [[1, 2, 3, 4, 5, 6, 7], "$elem"] }
}
}
])
假设我有一个集合{key:1},{key:2},{key:3}
我有一些数组[1,2,3,4,5,6,7]
我想获取集合中没有的元素
在此示例中,它将打印 4,5,6,7
可能吗?
您可以使用$setDifference
,
$group
by null,在elem
, 中创建一个元素数组
$project
使用$setDifference
创建元素差异
db.collection.aggregate([
{
$group: {
_id: null,
elem: { $push: "$key" }
}
},
{
$project: {
elem: { $setDifference: [[1, 2, 3, 4, 5, 6, 7], "$elem"] }
}
}
])