我用 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"`
}
“朋友”是用户的一部分。我可以 $push 一个指向用户的指针,它工作正常。问题是我只想存储对用户的引用而不是嵌套它:
方法二:
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"`
}
这为我提供了我想要的输出 - 但现在从引用嵌套结构的结构中看不到它。mgo 是否提供了一些机制来处理这个问题?
慕沐林林
相关分类