为了账号安全,请及时绑定邮箱和手机立即绑定

查询具有不同结构的文档以获取结果

查询具有不同结构的文档以获取结果

Go
MMTTMM 2021-09-10 16:32:46
我有一组插入 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
提交
取消
意见反馈 帮助中心 APP下载
官方微信