Bạn không cần phải tự tạo tài liệu BSON.
Giả sử trong account.go, bạn sẽ có cấu trúc tài khoản:
type Account struct {
Id bson.ObjectId `bson:"_id"` // import "labix.org/v2/mgo/bson"
BalanceAmount int
// Other field
}
Sau đó, trong dbEngine.go chức năng Chèn của bạn:
func Insert(document interface{}){
session, err := mgo.Dial("localhost")
// check error
c := session.DB("db_name").C("collection_name")
err := c.Insert(document)
}
Và sau đó, một số vị trí trong ứng dụng của bạn:
acc := Account{}
acc.Id = bson.NewObjectId()
acc.BalanceAmount = 3
dbEngine.Insert(&acc);