MongoDB数据库《进阶》

聚合操作

聚合介绍

1.什么是聚合操作

把一系列的操作合并到一个方法中完成

在聚合操作中,每一个操作我们称之为一个阶段

在聚合操作中,上一个阶段处理的结果会传递给下一个阶段,所有阶段处理完毕会返回一个新的结果集

2.聚合操作语法:db.集合.aggregate(阶段,选项)

聚合管道阶段

// 准备数据:
//db.person.insertMany([
//    {name:{firstName:'zs', lastName:'Lee'}, age:18, book:{name:'学习HTML', price: 88}},
//    {name:{firstName:'lisi', lastName:'Jiang'}, age:17, book:{name:'学习JavaScript', price: 99}}
//])
$project: 对输入的文档按照我们需要的格式进行投影

!! $project的操作类似于mysql中的视图,它不会修改原来的集合,而是投影了一个集合

$project的操作中,如果引用了不存在的字段,会把这个字段自动用null填充

// 需求:查询文档,并且把字段的显示名称进行修改
//db.person.aggregate([
//    {
//        $project:{
//            _id:0,
//            pName:'$name.firstName',
//            pAge:'$age',
//            fullName:['$name.lastName','$name.firstName','$name.nickName']
//        }
//    }
//])
$match:和find中的条件参数类似,用于筛选符合条件的文档
// 需求:根据name字段中的firstname查找文档
//db.person.aggregate([
//    {
//        $match:{
//            'name.firstName':'zs'
//        }
//    }
//])
// 需求:根据name字段中的firstname查找文档,并且把字段的显示名称进行修改
//db.person.aggregate([
//        {
//            $match:{
//                'name.firstName':'zs'
//            }
//        },
//        {
//            $project:{
//                _id:0,
//                pName:'$name.firstName',
//                pAge:'$age'
//            }
//        }
//])
$skip: 用于指定跳过几个文档,$limit:用于指定获取几个文档,如果没有指定$skip,那么默认从第一条数据开始获取
//db.person.aggre
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值