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