您当前的位置: 首页 >  mongodb

小志的博客

暂无认证

  • 0浏览

    0关注

    1217博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

MongoDB——聚合管道之$project操作

小志的博客 发布时间:2022-04-21 23:21:53 ,浏览量:0

目录
    • 一、数据准备
    • 二、聚合管道之$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()
    

    在这里插入图片描述

2.2、$project 可以表示投影操作, 将原始字段投影成指定名称
  • 将books1集合中的 title 投影成 name

    db.books1.aggregate([{$project:{name:"$title"}}])
    

    在这里插入图片描述

2.3、$project 可以灵活控制输出文档的格式,也可以剔除不需要的字段
  • 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}}])
    

    在这里插入图片描述

2.4、$project 可以从嵌套文档中排除字段
  • 只显示author嵌套文档中的name字段

    db.books1.aggregate([ {$project:{name:"$title",_id:0,type:1,"author.name":1}} ])
    

    在这里插入图片描述

关注
打赏
1661269038
查看更多评论
立即登录/注册

微信扫码登录

0.6199s