首頁 >後端開發 >Golang >如何使用物件 ID 陣列從 Go 查詢 MongoDB?

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

DDD
DDD原創
2024-11-03 00:42:29352瀏覽

How to Query MongoDB from Go with an Array of Object IDs?

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

在MongoDB 中,可以根據儲存在陣列中的物件識別碼檢索文件使用$ in 運算子以及mgo 和bson 套件。

實作查詢:

要正確執行查詢,您需要確保陣列的格式正確。如果文件使用字串ID 存儲,則您提供的查詢是準確的:

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

但是,如果物件識別碼採用十六進位編碼字串的形式(例如「543d171c5b2c12420dd016」),則需要在查詢中使用它們之前將它們轉換為bson.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>

此修改可確保查詢與儲存在陣列中作為 bson.ObjectId 物件的物件識別碼相符。

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn