使用 Go 傳遞 BSON 文件
使用 mgo 套件使用 Go 和 MongoDB 時,在傳遞 BSON 文件時通常會遇到挑戰。本文解決了一個這樣的問題,特別關注 BSON 文件是否使用 interface{} 的問題。
問題:
您已經建立了一個BSON文檔,但當嘗試將其傳遞給另一個採用interface{} 類型的包中的函數時,您會遇到錯誤:「panic: Can't marshal interface {} as a BSON document.」
解決方案:
您的問題源自於您不應該自己建立BSON 文檔。相反,您可以定義一個結構體來表示文件的架構,然後使用 mgo 套件來處理 BSON 資料的編組和解組。
在account.go 中:
定義代表您帳戶的結構體:
在dbEngine.go 中:
更新Insert 函數以接受interface{} 參數:
在您的主應用程式中:
在您的主應用程式中:
建立Account結構的實例並將其插入資料庫:
此方法允許mgo 正確處理BSON 文件的編碼和解碼,無需手動處理。以上是我應該在 Go 中為 BSON 文件使用“interface{}”嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!