使用物件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中文網其他相關文章!