【问题标题】:Mongoose find in array of objects猫鼬在对象数组中找到
【发布时间】:2019-03-28 13:04:03
【问题描述】:

我有一个 Mongoose 架构

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) =>{}})

但我什么也没找到。即使我删除了第一个“用户名”部分,它仍然找不到任何东西并返回一个空数组,所以问题显然是第二部分。 我的查询有什么问题?我在文档中找不到任何关于它的信息。

【问题讨论】:

标签: javascript mongodb mongoose


【解决方案1】:

我迟到了,但我希望它可以帮助其他人

您可以简单地使用.find(),在其中,您可以为嵌套在一组文档中的多个字段创建条件规范。最简单的方法是:

MessageSchema.find({ "streamer.streams": { id: "XXX" } });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-14
    • 2022-01-16
    • 2016-02-05
    • 1970-01-01
    • 2015-12-28
    • 2021-05-06
    • 2017-03-28
    相关资源
    最近更新 更多