Mongodb常用查询命令

分类:软件编程
阅读:1607
作者:majingjing
发布:2021-12-24 17:02

[TOC]

聚合使用形式

pipeline = [$stage1, $stage2, ...  $stageN];

db.<COLLECTION>.aggregate(
	pipeline,
	{ options }
);

常用运算符

阶段 解释
$mod 取模运算
$log log指数
$and
$or
$not
$gt 大于
$eq 等于
$lt 小于
阶段 解释
$match 过滤
$project 投影
$sort 排序
$group 分组
$skip/$limit 结果限制
$unwind 展开数组
$graphLookup 图搜索
$facet/$bucket 分面搜索

聚合指令

$match

image-20211224165506762

$project

image-20211224165541577

$group

image-20211224165609113

$slice

image-20211224165638288

$unwind

image-20211224165703572

$sort , $skip , $limit

image-20211224165800132

$out

image-20211224165829649

应用场景

示例文档

{
    cust_id: "abc123", // 客户 id
    ord_date: ISODate("2012 - 11 - 02T17: 04: 11.102Z"), // 下单时间
    status: "A",//订单状态
    price: 50,// 总金额
    items: [
        // 子订单
        {
            sku: "xxx",
            qty: 25,
            price: 1
        }, {
            sku: "yyy",
            qty: 25,
            price: 1
        }
    ]
}

查询指令

文档计数

image-20211224163508941

字段值累加

image-20211224163614021

根据单一字段分组

image-20211224164128045

根据单一字段分组并排序

image-20211224164201382

多字段分组统计

image-20211224164302926

对统计数据进行筛选

image-20211224164340405

image-20211224164422595

数组拆分后分组统计

image-20211224164443952