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

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

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

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

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

在MongoDB 中,文件可以將其ID 儲存在字串或物件陣列中身分證。當使用 mgo 套件根據儲存在陣列中的物件 ID 檢索多個文件時,確保遵循正確的方法非常重要。

不正確的查詢

提供的查詢:

query := bson.M{"_id": bson.M{"$in": ids}}
登入後複製

對物件 ID 來說不正確,因為 ids 是字串陣列。 MongoDB 需要 $in 運算子的物件 ID。

物件ID 的正確查詢

要查詢儲存在陣列中的物件ID,請先將字串轉換為物件ID構造查詢:

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

for 迴圈迭代字串數組,使用bson.ObjectIdHex(string) 將每個字串轉換為物件ID 並將其儲存在oids 切片中。產生的 oids 切片將包含物件 ID。然後使用 $in 運算子的 oids 切片建立查詢。

透過使用正確的物件 ID 查詢,您可以使用 Go 和 mgo 套件從 MongoDB 高效檢索具有匹配 ID 的多個文件。

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

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