我用golang和mgo写了一些简单的程序.我的问题是如何正确地处理mgo中的关系.
第一种方法:
type User struct {
Id bson.ObjectId `json:"_id,omitempty" bson:"_id,omitempty"`
Username string `json:"username" bson:"username"`
Email string `json:"email" bson:"email"`
Password string `json:"password" bson:"password"`
Friends []User `json:"friends" bson:"friends"`
}
Run Code Online (Sandbox Code Playgroud)
" 朋友 "是用户的一部分.我可以$推送一个指向用户的指针,它只是工作正常.问题是我只想存储对用户的引用而不是嵌套它:
第二种方法:
type User struct {
Id bson.ObjectId `json:"_id,omitempty" bson:"_id,omitempty"`
Username string `json:"username" bson:"username"`
Email string `json:"email" bson:"email"`
Password string `json:"password" bson:"password"`
Friends []bson.ObjectId `json:"friends" bson:"friends"`
}
Run Code Online (Sandbox Code Playgroud)
这给了我想要的输出 - 但是现在从结构中看不到哪些嵌套结构被引用了.mgo是否提供了一些处理这个问题的机制?