我收集了一系列在各种渠道上进行的终结点测试。该集合中的一个示例文档是:
{
"_id" : ObjectId("59959b30c699811077751b12"),
"teststatus" : "Fail",
"channelname" : "HouseController",
"timestamp" : ISODate("2017-08-17T13:15:53.170Z"),
"testid" : "llpKIgIfiiquqkSApwNn"
}我对此进行查询,以投影结果,如下所示:
[
{
"Fail": 20,
"Success Count": 30,
"Total": 50,
"channel": "c3"
}, ...但是我得到了错误的成功和失败率的计数。我当前在golang中的查询如下所示:
o1:= bson.M{
"$project" :bson.M{
"channel": "$channelname",
"time":"$timestamp",
"teststatus" : "$teststatus",
"_id":1,
},
}
o2:= bson.M{
"$group" :bson.M{
"_id": "$channel",
"Success": bson.M{
"$sum":bson.M{ "$eq" :"teststatus","Pass"},
},
"Total": bson.M{
"$sum": 1,
},
},
}
o3:= bson.M{
"$project" :bson.M{
"channel": "$_id",
"Success Count":"$Success",
"Total" : "$Total",
"_id":0,
"Fail": bson.M{
"$subtract": []interface{}{"$Total", "$Success"},
},
},
}我在计算成功次数时做错了。我就是不知道怎么把它做好。我刚刚开始使用mgo和golang。
提前感谢
https://stackoverflow.com/questions/45749030
复制相似问题