Mongodb 如何限制组查询中返回的对象数

Mongodb 如何限制组查询中返回的对象数,mongodb,mongodb-query,aggregation-framework,Mongodb,Mongodb Query,Aggregation Framework,我有一个Mongodb数据库,它有几百条记录,每个记录都有一个字段“pauseTime”的值。我想计算每个pauseTime值的记录数。但是我想把查询限制在pauseTime大于50小于150的文档中 我甚至计算了pauseTime中每个值的数量 这是数据库的记录: { "_id" : ObjectId("5ca74a95a094b08e97bd1278"), "duration" : NumberInt(857), "videoUrl" : "https://vime

我有一个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使用并查询操作符和
pauseTime

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