如何解决如何获取不在集合中的元素?
假设我有一个{key:1},{key:2},{key:3}
的收藏集
我有一些数组[1,2,3,4,5,6,7]
我想获取不在集合中的元素。
在此示例中,它将打印4,7
有可能吗?
解决方法
您可以使用$setDifference
,
-
$group
(以null表示),以在elem
中创建元素数组, -
$project
使用$setDifference
创建元素差异
db.collection.aggregate([
{
$group: {
_id: null,elem: { $push: "$key" }
}
},{
$project: {
elem: { $setDifference: [[1,2,3,4,5,6,7],"$elem"] }
}
}
])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。