[英]Mongoose find in array of objects
我有一个猫鼬模式
var MessageSchema = new Schema({
streamer: {
streamer_username: String,
streams: [{
id: String,
messages: [{
date: String,
username: String,
message: String,
song: String
}]
}]
}
})
如您所见,它包含一个数组“streams”,其中包含具有“id”值的对象。 我正在尝试使用此查询搜索数据库。
MsgSchema.find({ "streamer.streamer_username" : streamer_name, "streamer.streams": { "$in": {id: response.data[0].id} }}, (err, found) =>{}})
但我什么也没找到。 即使我删除了第一个“用户名”部分,它仍然没有找到任何东西并返回一个空数组,所以问题显然是第二部分。 我的查询有什么问题? 我在文档中找不到任何关于它的信息。
我迟到了,但我希望它可以帮助其他人
您可以简单地使用.find()
并在其中创建嵌套在文档数组中的多个字段的条件规范。 最简单的方法是:
MessageSchema.find({ "streamer.streams": { id: "XXX" } });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.