1 回答
TA贡献1809条经验 获得超8个赞
因为映射是无效的,在$unwindon之后$user,你应该期望每个结果只包含一个用户,因此,User不应该是array.
type Details struct{
ID bson.ObjectId `json:"_id" bson:"_id"`
USER []User `json:"user" bson:"user"`
SALES []Sales `json:"sales" bson:"sales"`
}
应改为:
type Details struct{
ID bson.ObjectId `json:"_id" bson:"_id"`
USER User `json:"user" bson:"user"`
SALES []Sales `json:"sales" bson:"sales"`
}
由于您可能需要两种类型的响应,一种是正常响应,另一种$unwind是当前响应,您可以为其创建另一种类型:
type UnwindDetails struct{
ID bson.ObjectId `json:"_id" bson:"_id"`
USER User `json:"user" bson:"user"`
SALES []Sales `json:"sales" bson:"sales"`
}
保持你原来的样子 type
type Details struct{
ID bson.ObjectId `json:"_id" bson:"_id"`
USER []User `json:"user" bson:"user"`
SALES []Sales `json:"sales" bson:"sales"`
}
因此,您必须将result变量的类型修改为:
var result []UnwindDetails
- 1 回答
- 0 关注
- 184 浏览
添加回答
举报
