Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用$lookup mongodb获取本地字段的计数_Mongodb_Mongoose_Mongodb Query_Aggregation Framework - Fatal编程技术网

使用$lookup mongodb获取本地字段的计数

使用$lookup mongodb获取本地字段的计数,mongodb,mongoose,mongodb-query,aggregation-framework,Mongodb,Mongoose,Mongodb Query,Aggregation Framework,我想获得本地特定于字段的投影虎钳的计数。例如,我有以下文档: { "_id" : ObjectId("5c0a4efa91b5021228681f7a"), "projectId" : ObjectId("5c0a4083753a321c6c4ee024"), "hours" : 8, "__v" : 0 } { "_id" : ObjectId("5c0a4f4191b5021228681f7c"), "projectId" : ObjectId("5c0

我想获得本地特定于字段的投影虎钳的计数。例如,我有以下文档:

{
   "_id" : ObjectId("5c0a4efa91b5021228681f7a"),
   "projectId" : ObjectId("5c0a4083753a321c6c4ee024"),
   "hours" : 8,
   "__v" : 0
}

{
   "_id" : ObjectId("5c0a4f4191b5021228681f7c"),
   "projectId" : ObjectId("5c0a2a8897e71a0d28b910ac"),
   "hours" : 6,
   "__v" : 0
}

{
   "_id" : ObjectId("5c0a4f4191b5021228681f7d"),
   "projectId" : ObjectId("5c0a4083753a321c6c4ee024"),
   "hours" : 2,
   "__v" : 0
}
现在,我想得到projectd的hours字段计数等于5c0a4083753a321c6c4ee024,即10

是否可以使用$lookup?

用于连接两个集合。在这里,您试图获取特定
项目的
小时数的总数。因此,您需要在这里使用


谢谢,成功了。但我想在$lookup中的另一个控制器中对另一个集合使用上面的查询,它有自己的$match条件。我怎么能?我明白了,你想说什么。但我想在此处的projectController中使用上述查询:“”。我共享了您回答我的url。我正在获取项目:[{u id:null,totalHours:0}]。我需要问另一个问题并提供给你链接吗?嗨@Anthony,我问了一个新问题:“
db.collection.aggregate([
  { "$match": { "projectId": mongoose.Types.ObjectId("5c0a4083753a321c6c4ee024") }}
  { "$group": {
    "_id": "$projectId",
    "totalHours": { "$sum": "$hours" }
  }}
])