我有一組插入 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)我在結果中獲得了整個“統(tǒng)計”嵌入結構 - 如何從子文檔中過濾掉一個字段并將其放入結果集中?謝謝!
- 2 回答
- 0 關注
- 181 瀏覽
添加回答
舉報
0/150
提交
取消