使用$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" }
}}
])