我有一组插入 Mongo 的文档,看起来像这样:type Stats struct { UserStatus string `json:"userStatus" bson:"userStatus"` ... a bunch more fields}type User struct { ID bson.ObjectId `json:"-" bson:"_id"` LastName string `json:"lastName" bson:"lastName"` FirstName string `json:"firstName" bson:"firstName"` Role string `json:"role" bson:"role"` Tags []string `json:"tags" bson:"tags"` ... (a bunch more fields) Stats UserStats `json:"stats" bson:"stats"`}我想查询它以获得特定的报告,所以我尝试了这个:func UserNameReport() { ... get mongo session, etc. // create struct of just the data I want returned type UserNames struct { LastName string `json:"lastName" bson:"lastName"` FirstName string `json:"firstName" bson:"firstName"` ... etc UserStats Stats `json:"stats" bson:"stats"` } projection := bson.M{"lastName":1, "firstName":1, etc} result := []UserNames{} err := x.Find({query user collection}).Select(projection).All(&result) ...}这有效 - 我的问题是,如何只包含“Stats”结构中的一个字段?换句话说,我基本上希望“投影”是这样的:projection := bson.M{"lastName":1, ..., "stats.userStatus":1} <-- stats.userStatus doesn't work...err := x.Find({query user collection}).Select(projection).All(&result)我在结果中获得了整个“统计”嵌入结构 - 如何从子文档中过滤掉一个字段并将其放入结果集中?谢谢!
2 回答
- 2 回答
- 0 关注
- 166 浏览
添加回答
举报
0/150
提交
取消