如何在MongoDB中过滤数组元素?
您可以将$setIntersection运算符与聚合框架一起使用,以过滤MongoDB中的数组元素。首先让我们创建一个包含文档的集合-
> db.filterArrayElementsDemo.insertOne( { "Scores": [10,45,67,78,90,98,99,92] } );
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd2d582b64f4b851c3a13c8")
}以下是在find()方法的帮助下显示集合中所有文档的查询-
> db.filterArrayElementsDemo.find().pretty();
这将产生以下输出-
{
"_id" : ObjectId("5cd2d582b64f4b851c3a13c8"),
"Scores" : [
10,
45,
67,
78,
90,
98,
99,
92
]
}以下是过滤数组元素的查询-
> db.filterArrayElementsDemo.aggregate([
... { $match : {
... _id: ObjectId("5cd2d582b64f4b851c3a13c8")
... }},
... { $project: {
... Scores: {
... $setIntersection: ['$Scores', [10,98,99]]
... }
... }}
... ]);这将产生以下输出-
{ "_id" : ObjectId("5cd2d582b64f4b851c3a13c8"), "Scores" : [ 10, 98, 99 ] }热门推荐
10 财运虎年祝福语简短语
11 单亲爸爸春节祝福语简短
12 狗狗上厕所训练
13 植物种植祝福语简短
14 翻译考试祝福语朋友简短
15 个人周年庆简短祝福语
16 狗狗怎么训练
17 分别祝福语简短搞笑英文
18 生日广州男生祝福语简短