猿问

查询有关 Go 项目中对象数组的 MongoDb 集合

在一个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 }}}}}})

它不起作用。它返回零结果。


元芳怎么了
浏览 137回答 1
1回答

开心每一天1111

要为嵌套字段构造过滤器,请使用点.指定具有完整“路径”的字段:bson.M{"target.roomId": bson.M{"$in": roomIds}}roomIdsID 的切片应该在哪里,例如类型[]stringor []any,但它应该包含房间 ID 作为strings。
随时随地看视频慕课网APP

相关分类

Go
我要回答