2 回答
TA贡献1784条经验 获得超9个赞
您的 $group 查询中的一组大括号缺少类型声明: {"rollno":bson.M{"$atndnc.rollno"},"attend":bson.M{"$atndnc.attend"}}
我认为应该是: bson.M{"rollno":bson.M{"$atndnc.rollno"},"attend":bson.M{"$atndnc.attend":nil}}
还有一些其他的初始化内容,例如仅使用字符串键的初始化(请记住,bson.M 只是 map[string]interface{} 的别名)
TA贡献1813条经验 获得超2个赞
这样做我得到了想要的输出。
cond :=[]bson.M{
bson.M{"$match": bson.M{
"stream" : srchobj.Stream,
"semester" : srchobj.Semester,
"section" : srchobj.Section,
"college_id":srchobj.College_id,
"date":bson.M{
"$gt":srchobj.Startdate,
"$lt":srchobj.Enddate},
},
},
bson.M{"$unwind": "$atndnc"},
bson.M{"$group":bson.M{
"_id":bson.M{
"rollno":"$atndnc.rollno",
"attend":"$atndnc.attend",
"name":"$atndnc.name",
},
"count":bson.M{"$sum":1},
},
},
bson.M{"$project":bson.M{
"rollno":"$_id.rollno",
"name":"$_id.name",
"count":"$count",
"attend":"$_id.attend",
},
},
bson.M{"$sort":bson.M{"rollno":1}},
}
- 2 回答
- 0 关注
- 200 浏览
添加回答
举报