首頁 > 後端開發 > Golang > 為什麼我的 mgo FindById 查詢在資料存在時回傳零?

為什麼我的 mgo FindById 查詢在資料存在時回傳零?

Patricia Arquette
發布: 2024-12-09 02:43:13
原創
637 人瀏覽過

Why Does My mgo FindById Query Return Zero When Data Exists?

使用 mgo 在 MongoDB 中按 ID 尋找

使用 mgo 在 MongoDB 中按 ID 查找資料是一個常見操作。但是,當嘗試檢索已知存在的資料但查詢傳回空結果時,可能會出現問題。本文探討了此問題的潛在原因,並根據提供的問題和答案提供了解決方案。

在問題中,使用者嘗試使用 FindId 方法檢索數據,並將 ID 作為十六進位字串傳遞。但是,傳回值始終為 0。造成這種情況的原因有兩個:

  1. FindId 的錯誤使用:FindId 應該與原始 ID 值一起使用,而不是十六進位表示法。將 bson.ObjectIdHex("58593d1d6aace357b32bb3a1") 替換為 bson.ObjectId("58593d1d6aace357b32bb3a1")。
  2. 欄位名稱不符:MongoDB 文件中的 ID 欄位可能與預期名稱不同中的 IdCookie 欄位結構。使用struct標籤來指定正確的欄位映射,例如bson:"myid"。

為了最佳化資料庫連接,建議連接MongoDB伺服器一次並重複使用會話,而不是重複使用建立連接。

透過解決這些潛在問題,使用者應該能夠使用 mgo 成功透過 ID 來尋找資料。

以上是為什麼我的 mgo FindById 查詢在資料存在時回傳零?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板