如何使用Golang 的Mgo 避免空物件
當使用Golang 的mgo 套件與MongoDB 互動時,了解正確的用法至關重要BSON 和JSON 標籤。如果不使用適當的標籤註釋,資料檢索可能會導致空物件。
提供的程式碼片段嘗試在 MongoDB 中查詢具有特定「使用者」欄位的記錄。但是,由於常見的疏忽,傳回的記錄為空:結構欄位未匯出。要解決此問題,請修改 users 結構體以匯出使用者和資料欄位:
type users struct { User string `bson:"user" json:"user"` Data string `bson:"data" json:"data"` }
透過匯出結構體字段,您可以指示 mgo 套件在資料轉換和擷取期間使用這些欄位名稱。如果沒有此匯出,套件將忽略這些欄位。
此外,了解 BSON 和 JSON 標籤的作用也很重要。在 MongoDB 中,資料以 BSON(二進位 JSON)格式儲存。然而,Go 使用 JSON 來表示資料結構。 BSON 和 JSON 標籤可讓您指定 Go 欄位如何對應到對應的 BSON 對應項目。
在提供的程式碼中,User 和 Data 標籤指定 Go 結構體欄位應對應到「user」和分別是 BSON 中的「資料」欄位。透過使用這些標籤,您可以確保以正確的格式儲存和檢索資料。
遵循這些準則,您可以有效地避免檢索空對象,並確保使用 mgo 在 Go 和 MongoDB 之間正確處理資料包裹。
以上是為什麼我的 Golang mgo 查詢會傳回空物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!