美文网首页
mongoBD--聚合

mongoBD--聚合

作者: 暴走的金坤酸奶味 | 来源:发表于2018-12-30 21:12 被阅读0次

    $group:将集合中的文档分组,可用于统计结果。

    db.集合名称.aggregate(
    [
    {$group:{_id:'[图片上传失败...(image-e48bd0-1546175373503)]

    sum:'$...'}}}
    ]
    )

    • $sum 计算总和。

    db.集合名称aggregate(
    [
    {group : {_id : "by_user", num_tutorial : {sum : "likes"}}}
    ]
    )

    • $avg 计算平均值

    db.集合名称.aggregate(
    [
    {[图片上传失败...(image-f95402-1546175373503)]

    by_user", num_tutorial : {[图片上传失败...(image-2ae671-1546175373503)]

    likes"}}}
    ]
    )

    • $min 获取集合中所有文档对应值得最小值。

    db.集合名称.aggregate(
    [
    {group : {_id : "by_user", num_tutorial : {min : "likes"}}}
    ]
    )

    • $max 获取集合中所有文档对应值得最大值。

    db.集合名称.aggregate(
    [
    {group : {_id : "by_user", num_tutorial : {max : "likes"}}}
    ]
    )

    • $push 在结果文档中插入值到一个数组中。

    db.集合名称.aggregate(
    [
    {group : {_id : "by_user", url : {push: "url"}}}
    ]
    )

    • $first 根据资源文档的排序获取第一个文档数据。

    db.集合名称.aggregate(
    [
    {group : {_id : "by_user", first_url : {first : "url"}}}
    ]
    )

    • $last 根据资源文档的排序获取最后一个文档数据

    db.集合名称.aggregate(
    [
    {group : {_id : "by_user", last_url : {last : "url"}}}
    ]
    )


    $project:修改输入文档的结构。可以用来重命名、增加或删除域,也可以用于创建计算结果以及嵌套文档。

    db.article.aggregate(
    [
    {$project:{by_user:1}}
    ]
    )

    db.article.aggregate(
    [
    {$project:{by_user:1,id:0}}
    ]
    )

    match:用于过滤数据,只输出符合条件的文档。match使用MongoDB的标准查询操作。

    
    $gt:大于
    $lt:小于
    $gte:大于或等于
    $lte:小于或等于
    
    

    db.article.aggregate(
    [
    {match:{likes:{gt:0,lte:20}}}, {project:{title:1,_id:0}}
    ]
    )

    $limit:用来限制MongoDB聚合管道返回的文档数。

    db.article.aggregate(
    [
    {$limit:2}
    ]
    )

    $skip:在聚合管道中跳过指定数量的文档,并返回余下的文

    档。

    db.article.aggregate(
    [
    {$skip:2}
    ]
    )

    db.article.aggregate(
    [
    {match:{likes:{gt:0,lte:20}}}, {skip:1},
    {limit:1}, {project:{title:1}}
    ]
    )

    $unwind:将文档中的某一个数组类型字段拆分成多条,每条

    包含数组中的一个值。

     db.article.aggregate(
     [
     {[图片上传失败...(image-8fbbac-1546175373502)]
     
     tags'}
     ]
     )
    

    $sort:将输入文档排序后输出。1: 升序,-1:降序

     db.article.aggregate(
     [
     {$match:{likes:{$gt:0,$lte:800}}},
     {$sort:{likes:-1}} ]
    )
    db.article.aggregate(
     [
     {$match:{likes:{$gt:0,$lte:800}}},
    {$sort:{likes:1}}
     ]
    )
    

    相关文章

      网友评论

          本文标题:mongoBD--聚合

          本文链接:https://www.haomeiwen.com/subject/balblqtx.html