首頁 > 後端開發 > Golang > 主體

如何使用物件 ID 陣列從 Golang 查詢 MongoDB?

DDD
發布: 2024-10-31 02:06:29
原創
542 人瀏覽過

How to Query MongoDB from Golang using an Array of Object IDs?

使用物件ID 陣列從Golang 查詢MongoDB

在MongoDB 中,您可以儲存文件數組,每個文件都有自己唯一的_id 。這允許您將多個文檔與父文檔關聯。當使用 Golang 的 mgo 和 bson 套件查詢這些文件時,將 _id 陣列轉換為適當的類型非常重要。

如果數組中的_id 值只是十六進位字串,提供的程式碼是正確的:

<code class="go">query := bson.M{"_id": bson.M{"$in": ids}}
c.Find(query).All()</code>
登入後複製

但是,如果_id 值是物件識別碼(ObjectId),則需要將它們轉換為正確的類型:

<code class="go">oids := make([]bson.ObjectId, len(ids))
for i := range ids {
  oids[i] = bson.ObjectIdHex(ids[i])
}
query := bson.M{"_id": bson.M{"$in": oids}}</code>
登入後複製

此轉換是必要的,因為$in 運算子需要一個ObjectId 值數組,而不是十六進位字串。透過將十六進位字串轉換為ObjectId類型,您可以正確查詢與提供的_id值關聯的文件。

以上是如何使用物件 ID 陣列從 Golang 查詢 MongoDB?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!