在 MongoDB 中聚合中实现 $match 和 $project
在 MongoDB 聚合中,$match 筛选文档,仅将匹配指定条件的文档传递到下一个管道阶段。
在 MongoDB 聚合中,$project 可以将请求字段的文档传递到管道中的下一个阶段。
让我们看一个示例,并创建一个文档的集合:
> db.demo545.insert({Name:"Chris",details:{SubjectScore1:56,SubjectScore2:56}})
WriteResult({ "nInserted" : 1 })
> db.demo545.insert({Name:"David",details:{SubjectScore1:78,SubjectScore2:78}})
WriteResult({ "nInserted" : 1 })在集合中使用 find() 方法显示所有文档:
> db.demo545.find();
这将生成以下输出:
{ "_id" : ObjectId("5e8e246e9e5f92834d7f05d5"), "Name" : "Chris", "details" : { "SubjectScore1" : 56, "SubjectScore2" : 56 } }
{ "_id" : ObjectId("5e8e24709e5f92834d7f05d6"), "Name" : "David", "details" : { "SubjectScore1" : 78, "SubjectScore2" : 78 } }以下查询用于实现 $match 和 $project:
>db.demo545.aggregate([{$match:{}},{$project:{"_id":0,"details.SubjectScore1":1,out:"$details
.SubjectScore2"}},{$group:{_id:"$out"}}])这将生成以下输出:
{ "_id" : 78 }
{ "_id" : 56 }
广告
数据结构
网络
关系数据库
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP