目录
一、数据准备
- 一、数据准备
- 二、聚合管道之$project操作示例
- 2.1、查询集合中的数据
- 2.2、$project 可以表示投影操作, 将原始字段投影成指定名称
- 2.3、$project 可以灵活控制输出文档的格式,也可以剔除不需要的字段
- 2.4、$project 可以从嵌套文档中排除字段
-
准备数据集,执行脚本
var tags = ["nosql","mongodb","document","developer","popular"]; var types = ["technology","sociality","travel","novel","literature"]; var books=[]; for(var i=0;i db.books1.find()
-
查询books1集合中的数据,格式化显示数据
> db.books1.find().pretty()
-
将books1集合中的 title 投影成 name
db.books1.aggregate([{$project:{name:"$title"}}])
-
title字段替换name,并且只显示type和author字段。(0表示不显示此字段,1表示显示此字段)
//_id:0表示不显示id字段;type:1表示显示type字段;author:1表示显示author字段 db.books1.aggregate([{$project:{name:"$title",_id:0,type:1,author:1}}])
-
只显示author嵌套文档中的name字段
db.books1.aggregate([ {$project:{name:"$title",_id:0,type:1,"author.name":1}} ])