Mongodb 如何将$setunion应用于此聚合?
我需要按每个请求类型获取值,还需要isRequestSuccess:成功或失败Mongodb 如何将$setunion应用于此聚合?,mongodb,Mongodb,我需要按每个请求类型获取值,还需要isRequestSuccess:成功或失败 Here my db is: { "_id" : ObjectId("5d28667fb0adb622b905ccd2"), "requestedDate" : ISODate("2019-07-12T10:52:47.711Z"), "requestType" : "A", "isRequestSuccess" : false, "responseDate" : ISODa
Here my db is:
{
"_id" : ObjectId("5d28667fb0adb622b905ccd2"),
"requestedDate" : ISODate("2019-07-12T10:52:47.711Z"),
"requestType" : "A",
"isRequestSuccess" : false,
"responseDate" : ISODate("2019-07-12T10:53:19.213Z"),
"__v" : 0
},
{
"_id" : ObjectId("5d28667fb0adb622b905ccd2"),
"requestedDate" : ISODate("2019-07-12T10:52:47.711Z"),
"requestType" : "C",
"isRequestSuccess" : false,
"responseDate" : ISODate("2019-07-12T10:53:19.213Z"),
"__v" : 0
},
{
"_id" : ObjectId("5d28667fb0adb622b905ccd2"),
"requestedDate" : ISODate("2019-07-12T10:52:47.711Z"),
"requestedType" : "A",
"isRequestSuccess" : false,
"responseDate" : ISODate("2019-07-12T10:53:19.213Z"),
"__v" : 0
}
如何获取这些值?请显示您的预期输出[{requestedType:'A',isRequestSuccess:2,isRequestFalse:1},{requestedType:'C',isRequestSuccess:1,isRequestFalse:3}]
[
{ requestedType: "A", isRequestSuccess: 2, isRequestFalse: 1 },
{ requestedType: "C", isRequestSuccess: 1, isRequestFalse: 3 }
]
db.getCollection('test').aggregate({
"$group": {
"_id": "$requestedType",
"isRequestSuccess": {
$sum: {
$cond: ["$isRequestSuccess", 1, 0]
}
},
"isRequestFalse": {
$sum: {
$cond: ["$isRequestSuccess", 0, 1]
}
}
}
})