在一個Go
專案中,我將一些這樣的資料存盤在一個MongoDb
集合中:
{
_id:ObjectId("631f0752da589137a71687f6"),
target: { roomId: '11' }
}
{
_id:ObjectId("43150752da589137a71687f6"),
target: { roomId: '12' }
}
.
.
.
我有一個目標物件陣列,我想檢查資料庫中的roomId
資料庫是否等于我的物件陣列值之一。
我的目標物件陣列:
userRooms:[{"roomId":"12"}, {"roomId":"13"}, {"roomId":"14"}]
我創建了一個只包含房間 ID 的新陣列,如下所示:
var roomIds []string
for _, v := range RESPONSE.USERROOMS {
roomIds = append(roomIds, v.ROOMID)
}
我這樣做:
bson.M{ "target": bson.M{"roomId":bson.M{"$in": roomIds }}}}}})
它不起作用。它回傳零結果。
uj5u.com熱心網友回復:
要為嵌套欄位構造過濾器,請使用點.
來指定具有完整“路徑”的欄位:
bson.M{"target.roomId": bson.M{"$in": roomIds}}
roomIds
ID 的切片應該在哪里,例如型別[]string
or []any
,但它應該包含房間 ID 作為string
s。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/508321.html