SequoiaDB 简介
安装部署
数据库实例
分布式引擎
SAC 管控中心
参考手册
常见问题及解答(FAQ)
版本信息
{ $project: { <字段名1:0 | 1 | "$新字段名1">, [字段名2: 0 | 1 | "$新字段名2", ... ] } }
$project 类似 SQL 中的 select 语句,通过 $project 操作可以从记录中筛选出所需字段。$project 规则如下:
使用 $project 快速地从结果集中选取所需字段
> db.sample.employee.aggregate({ $project: { title: 0, author: 1 } })
此操作是选出 author 字段,而 title 字段在结果集中不输出。
使用 $project 重命名字段名
> db.sample.employee.aggregate({ $project : { author: 1, name: "$studentName", dep: "$info.department" } })
此操作将字段名 studentName 重命名为 name 输出,将 info 对象中的子对象 department 字段重命名为 dep。对嵌套对象,字段引用使用点操作符(.)指向。
使用 $project 选择输出字段,然后使用 $match 按条件匹配记录
> db.sample.employee.aggregate({ $project: { score: 1, author: 1 } }, { $match: { score: { $gt: 80 } } })
此操作使用 $project 输出所有记录的 score 和 author 字段值,然后按 $match 输出匹配条件的记录。
Note:
由于 $project 选取了输出字段名,所以 $match 中字段名必须是 $project 中选出的字段名。