在 Go Lang 中傳遞 BSON 文件
在 Go 中,您可以連接到 MongoDB 並使用 mgo 庫操作資料。要將文檔插入 MongoDB,您需要建構 BSON 文檔,它代表您要儲存的資料。
將 BSON 文件傳遞給另一個套件中的函數(例如 dbEngine.go)時,您可能會遇到使用interface{}類型時出錯。這是因為 mgo 期望特定類型映射到 BSON 文檔結構。
建議使用 Go 結構來定義要插入的資料的形狀,而不是手動建立 BSON 文件。例如,在account.go 中,您可以建立一個如下結構:
type Account struct { Id bson.ObjectId `bson:"_id"` BalanceAmount int // Other field }
然後,在dbEngine.go 中,您可以更新Insert 函數以接受指向該結構的指標:
func Insert(document interface{}){ session, err := mgo.Dial("localhost") // check error c := session.DB("db_name").C("collection_name") err := c.Insert(document) }
最後,您可以使用結構體建立一個新帳戶並將其插入MongoDB中:
acc := Account{} acc.Id = bson.NewObjectId() acc.BalanceAmount = 3 dbEngine.Insert(&acc);
透過使用結構體,您可以確保資料格式正確並與 MongoDB 所需的 BSON 文件結構相容。
以上是如何使用 mgo 將 BSON 文件傳遞給 Go 中的函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!