MongoDB-聚合操作$project

网友投稿 907 2022-10-11

MongoDB-聚合操作$project

MongoDB-聚合操作$project

什么是聚合操作

聚合操作就是通过一个方法完成一系列的操作在聚合操作中, 每一个操作我们称之为一个阶段聚合操作会将上一个阶段处理结果传给下一个阶段继续处理所有阶段都处理完毕会返回一个新的结果集给我们

聚合操作格式

db..aggregate(, )

​​​​: 定义每个阶段操作​​​​: 聚合操作额外配置

聚合管道阶段

可以利用,​​$project​​ 对输入文档进行再次投影

作用: 按照我们需要的格式生成结果集格式:​​{$project:{:}}​​

好了介绍了这么多我们来看示例吧,首先添加测试数据如下:

db.person.insert([ {name:{firstName:'Jonathan', lastName:'Lee'}, age:18, book:{name:'玩转HTML', price: 88}}, {name:{firstName:'Amelie', lastName:'BNTang'}, age:17, book:{name:'玩转JavaScript', price: 99}}]);db.person.find();

关于 @project:

db.person.aggregate([ { $project:{ _id:0, clientName: '$name.firstName', clientAge: '$age' } }]);

聚合表达式

字段路径表达式

​​$​​​: 使用​​$​​ 来指示字段路径​​$.​​​: 使用​​$​​​ 和​​.​​ 来指示内嵌文档字段路径

字段路径表达式示例

$name$book.name

注意点

$project 修改的是结果集而不是原有的集合

db.person.aggregate([ { $project:{ _id:0, myName: '$name.lastName' } }]);db.person.find();

如果在 @project 聚合操作中使用了原有文档不存在的字段, 那么会自动用 ​​Null​​ 来填充

db.person.aggregate([ { $project:{ _id:0, fullName: ['$name.firstName', '$name.middleName','$name.lastName'], clientAge: '$age' } }]);

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:一个简单微信小程序(仿QQ浏览器小说-书城界面实现)
下一篇:JVM中判定对象需要回收的方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~