在一个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 []stringfor _, v := range RESPONSE.USERROOMS { roomIds = append(roomIds, v.ROOMID)}我这样做:bson.M{ "target": bson.M{"roomId":bson.M{"$in": roomIds }}}}}})它不起作用。它返回零结果。
1 回答
开心每一天1111
TA贡献1836条经验 获得超13个赞
要为嵌套字段构造过滤器,请使用点.指定具有完整“路径”的字段:
bson.M{"target.roomId": bson.M{"$in": roomIds}}roomIdsID 的切片应该在哪里,例如类型[]stringor []any,但它应该包含房间 ID 作为strings。
- 1 回答
- 0 关注
- 136 浏览
添加回答
举报
0/150
提交
取消
