如何在Mongoose中检索子文档

时间:2017-08-17 11:53:53

标签: javascript node.js mongodb mongoose

我的数据库中有mongo集合:

const MessageSchema = new mongoose.Schema({
    identifier: {
        type: String,
        unique: true,
        required: true,
        trim: true
    },
    message_text: {
        type: String,
        required: true,
        trim: true
    }
});

const MessageSubsetSchema = new mongoose.Schema({
    identifier: {
        type: String,
        unique: true,
        required: true,
        trim: true
    },
    messages: [MessageSchema]
});

const LangMessageSetSchema = new mongoose.Schema({
    lang: {
        type: String,
        unique: true,
        required: true,
        trim: true
    },
    message_subsets: [MessageSubsetSchema]
});

由这个猫鼬模式构建:

messages

我想从message_subsets数组项中检索所有"identifier": "errors",如果父项"lang": "en",则display:-webkit-flex;数组display:flex;。 因为我对猫鼬和mongo有点新,所以我坚持了!你能帮助我以正确的方式进行数据查询吗?感谢。

1 个答案:

答案 0 :(得分:0)

这应该有效:

Collection.find({'messages.message_subsets.identifier':'errors', 'lang': 'en'}, {'messages': 1})