0
使用mongoose和NodeJs進行文檔填充以模擬連接非常常見。我正在嘗試瞭解如何實現與go和mgo類似的功能。Golang Mgo使用ID填充嵌套結構(Mongodb)
type User struct {
Id bson.ObjectId `json:"_id" bson:"_id"`
UserName string
}
type MessageBoard {
Id bson.ObjectId `json:"_id" bson:"_id"`
}
type Tag struct {
Id bson.ObjectId `json:"_id" bson:"_id"`
text string
}
type Post struct {
Id bson.ObjectId `json:"_id" bson:"_id"`
Text string
MessageBoard bson.ObjectId
User bson.ObjectId
Tags []bson.ObjectId
}
我想在郵政中只存儲用戶和標籤ID。用戶可以有很多帖子,如果用戶編輯UserName,所有帖子都應該反映這一點。
var posts []Post
err := PostCollection.Find(bson.M{"MessageBoard":mBoardId}).All(&posts)
if err != nil {
return nil, err
}
這是一個簡單的查詢來獲取帖子,但我如何有效地獲得填充用戶和標籤模型的帖子?
有睡眠(一個Mgo擴展)似乎做我在找什麼,但我有興趣更好地理解性能影響和設計選項,如果有一個單獨的解決方案使用Mgo。 https://github.com/mansoor-s/Sleep