나는 이런 식으로 뭔가를 찾고 몽고에 삽입 된 문서의 집합이 다른 구조체와 문서 : 나는 특정 보고서를 얻을 수를 조회 할쿼리 결과
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)
...
}
이 작품 - 내 질문은 어떻게 '통계'구조체에서 단 하나의 필드를 포함 할 수 있습니까? 즉, 나는 본질적으로 "투사"이되고 싶어 :
projection := bson.M{"lastName":1, ..., "stats.userStatus":1} <-- stats.userStatus doesn't work
...
err := x.Find({query user collection}).Select(projection).All(&result)
내가 얻는 결과에 구조체 포함 된 전체 "통계"- 나는 하위 문서에서 단 하나의 필드를 필터링 할 수있는 방법 결과 집합에 넣으시겠습니까?
감사합니다.