mongodb聚合操作汇总

//1两表联合查询
db.orders.aggregate([
{
    $lookup:
    {
        from: "inventory",//附表
        localField: "item.name",//主表字段
        foreignField: "sku",//附表字段
        as: "inventory_docs"//附表查询结果在主表显示的字段
    }
    }
])                

  

//$project筛选出来想要的字段 1是显示 不想显示_id  就是设置为 0 ,其他为 0会报错
db.runoob.aggregate( { $project: { _id: 0, title: 1, url: 1 , by_user: 1 } } )

  

//筛选likes大于70小于10000的
db.runoob.aggregate([ { $match: { likes: { $gt: 70, $lte: 10000 } } } ])

  

//跳过的个数
db.runoob.aggregate( { $skip: 1 } )

  

//根据by_user分组
db.runoob.aggregate([ { $match: { likes: { $gt: 0, $lte: 10000 } } }, { $group: { _id: "$by_user", count: { $sum: 1 } } } ])

  

//排序
db.runoob.aggregate(
    
    {
        "$sort": {
            "url":  1
        }
    }
)

  更多借鉴 大佬地址 https://www.cnblogs.com/liu--huan/p/10721266.html#_label2

posted @ 2020-06-17 09:47  帖子搬运工  阅读(169)  评论(0编辑  收藏  举报