【问题标题】:How to limit number of returned objects in group query如何限制组查询中返回的对象数量
【发布时间】:2019-04-08 01:37:21
【问题描述】:

我有一个包含数百条记录的 Mongodb 数据库,每条记录都有一个字段“pauseTime”的值。我想计算每个 pauseTime 值的记录数。但是我想限制查询到pauseTime大于50小于150的文档。

到目前为止,我已经计算了 pauseTime 的每个值的数量。

这是数据库的记录:


{
    "_id" : ObjectId("5ca74a95a094b08e97bd1278"),
    "duration" : NumberInt(857),
    "videoUrl" : "https://vimeo.com/3766858",
    "pauseTime" : NumberInt(493),
    "contentType" : "Comment",
    "comment" : "vsvdbdbdab adb",
    "__v" : NumberInt(0)
}

这是我目前的查询:

db.getCollection("videocomments").aggregate([ {"$group" : {_id:"$pauseTime", count:{$sum:1}}} ])

返回:

{ "_id" : 480, "count" : 8 }
{ "_id" : 437, "count" : 5 }
{ "_id" : 51, "count" : 4 }
{ "_id" : 434, "count" : 4 }
{ "_id" : 750, "count" : 9 } 
...

如何将“_id”(即 pauseTime)限制为 50

【问题讨论】:

    标签: mongodb mongodb-query aggregation-framework


    【解决方案1】:

    $lte$gte 查询运算符与pauseTime 一起使用

    db.getCollection("videocomments").aggregate([
      { "$match": {
        "pauseTime": { "$gte": 50, "$lte": 150 }
      }},
      { "$group": {
        "_id": "$pauseTime",
        "count": { "$sum": 1 }
      }}
    ])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-05
      • 2011-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-28
      相关资源
      最近更新 更多