1.$project(修改文档的结构,可以用来重命名、增加或删除文档中的字段)

db.order.aggregate([

{

$project:{ rade_no:1, all_price:1}

}

])

2.$match(用于过滤文档。用法类似于 find() 方法中的参数)

db.order.aggregate([

{

$project:{ rade_no:1, all_price:1}

},

{

$match:{"all_price":{$gte:80}}

}

])

3.$group(将集合中的文档进行分组,可用于统计结果。统计每个订单的订单数量,按照订单号分组)

db.order.aggregate([

{

$group:{ _id:"$order_id", total:{$sum:"$num"}}

}

])

4.$sort(将集合中的文档进行排序)

db.order.aggregate([

{

$project:{ rade_no:1, all_price:1}

},

{

$match:{"all_price":{$gte:80}}

},

{

$sort:{"all_price":1}

}

])

5.$limit(取一定数量的数据)

db.order.aggregate([

{

$project:{ rade_no:1, all_price:1}

},

{

$match:{"all_price":{$gte:80}}

},

{

$sort:{"all_price":1}

},

{

$limit:1

}

])

6.$skip(跳过几条数据去取数据)

db.order.aggregate([

{

$project:{ rade_no:1, all_price:1}

},

{

$match:{"all_price":{$gte:80}}

},

{

$sort:{"all_price":1}

},

{

$skip:1

}

])

7.$lookup(表关联)

db.order.aggregate([

{

$lookup:

{

from: "order_item", localField: "order_id", foreignField: "order_id", as: "items"

}

}

])

这里也可以配合其他管道操作进行操作

mongodb数据库管道操作的更多相关文章

  1. MongoDB数据库简单操作

    之前学过的有mysql数据库,现在我们学习一种非关系型数据库 一.简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数 ...

  2. MongoDB数据库基础操作

    前面的话 为了保存网站的用户数据和业务数据,通常需要一个数据库.MongoDB和Node.js特别般配,因为Mongodb是基于文档的非关系型数据库,文档是按BSON(JSON的轻量化二进制格式)存储 ...

  3. mongodb数据库集合操作

    1:更新update update() 方法用于更新已存在的文档.语法格式如下: db.collection.update( <query>, <update>, { upse ...

  4. linux下的mongodb数据库原生操作

    mongodb,是一种结构最像mysql的nosql mysql中的数据库,mongodb中也有,区别在于, myql中数据库下的是表,字段和数据的形式存在 mongodb数据库下的是叫集合(和pyt ...

  5. MongoDB数据库的操作

    一.操作MongoDB数据库 1.创建数据库 语法:ues 注意:如果数据库不存在则再创建数据库,否则切换到指定的 数据库!如果刚刚创建的数据不在列表中,如果需要显示这个数 据库,那么需要在刚刚创建的 ...

  6. MongoDB数据库常用操作

    推荐文章 --- 一天精通MongoDB数据库 注意: monogdb数据在使用之后必须及时 mongodb.close()否则后台崩溃. 1. 删除文档中的一个字段 db.<集合名>.u ...

  7. MongoDB数据库 : 管道,用户管理,副本集等

    聚合(aggregate): db.集合.aggregate([{管道:{表达式}}]) db.集合.aggregate([ {管道1:{表达式1}}, {管道2:{表达式2}}, ... ...]) ...

  8. mongodb数据库常用操作的整理

    这是个人在项目中抽取的代码,自己写的utils的通用模块,使用的框架是tronado,包括了数据库的认证,以及增删改查排序,如有特别需要可以联系我或者自己扩展,刚学python不久,仅供参考,例子如下 ...

  9. windows 安装 Mongodb 数据库及操作图形化软件 Robo 3T

    1 下载系统对应的正确 Mongodb 和 Robo 3T 版本 2 选中 Mongodb 需要安装的路径(后续会使用路径) 3 启动 Mongodb 服务器(到安装相关的路径) 可以参考 菜鸟教程 ...

随机推荐

  1. windows 安装 jenkins笔记

    Jenkins 所有镜像列表: http://mirrors.jenkins-ci.org/status.html 可在镜像网站上下载安装文件,比官方下载快些 jenkins 官网地址: https: ...

  2. java 延时

    Java中主要有两种方法来实现延迟,即:Thread和Timer 1.普通延时用Thread.sleep(int)方法,这很简单.它将当前线程挂起指定的毫秒数.如try{Thread.currentT ...

  3. leetcode-第14周双周赛-1274-矩形内船只的数目

    题目描述: 自己的提交: # """ # This is Sea's API interface. # You should not implement it, or s ...

  4. js动态添加的元素绑定事件

    最近做的项目要实现一个动态添加动态删除的功能,思考了一下,该怎么给动态添加的元素绑定事件.最后觉得有两种方式比较可靠,第一种是在动态添加的html代码里添加oclick事件,然后给传个唯一的参数来判断 ...

  5. C# ArrayList、HashSet、HashTable、List、Dictionary的区别

    在C#中,数组由于是固定长度的,所以常常不能满足我们开发的需求. 由于这种限制不方便,所以出现了ArrayList. ArrayList.List<T> ArrayList是可变长数组,你 ...

  6. 【Flutter学习】组件通信(父子、兄弟)

    一,概述 flutter一个重要的特性就是组件化.组件分为两种状态,一种是StatefulWidget有状态组件,一种是StatelessWidget无状态组件. 无状态组件不能更新状态,有状态组件具 ...

  7. eclipse开发安卓 发短信打电话发送邮件功能

    1.在mainfiest中添加   //添加拨打电话的功能    <uses-permission android:name="android.permission.CALL_PHON ...

  8. spring mvc 接入cas登录

    费劲千辛万苦开发出来的系统要接入sso 让我头大还好有大佬帮忙 首先在配置文件中写入启动的ip地址 HOST=http://127.0.0.1:8080/ 地址写你的地址和端口 然后在pom文件中导入 ...

  9. Angularjs实现简单的登陆框

    ​ <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&q ...

  10. LOJ #103. 子串查找 (Hash)

    题意 给定两个字符串 \(A\) 和 \(B\),求 \(B\) 在 \(A\) 中的出现次数. 思路 这是一道 \(KMP\) 的模板题. 不过 \(Hash\) 是个好东西,可以用 \(Hash\ ...