$ elemmatch возвращает только один результат

У меня один документ,

{
    "_id" : ObjectId("5bc864fe3cbb0d393687120b"),
    "eStatus" : "y",
    "aQuestions" : [
        {
            "eStatus" : "y",
            "_id" : ObjectId("5bcd7818f0903a1c82aeef85"),
            "sQuestion" : "aabbccdd?",
        },
        {
            "eStatus" : "n",
            "_id" : ObjectId("5bcda6aac272142b96ba77c3"),
            "sQuestion" : "sdfdsf",
        },
        {
            "eStatus" : "y",
            "_id" : ObjectId("5bcda6bfc272142b96ba77c6"),
            "sQuestion" : "vnmhjk",
        },
        {
            "eStatus" : "n",
            "_id" : ObjectId("5bd69f7516972c11234a3613"),
            "sQuestion" : "What is use of Wallet in ParadiseXtrade ?",

        }
    ],
}

Мой запрос: helpFaqsModel.findOne({_id: req.body._id,aQuestions: {$elemMatch: {eStatus: "y"}}})

Я не уверен, как правильно найти список вопросов с eStatus: "y"

Я хочу найти первый документ из коллекции и из той коллекции, в которой есть eStatus:"y"

Используйте $ filter, как указано в дубликате.

s7vr 31.10.2018 12:50

@Veeram Я не думаю, что это правильный дубликат. OP не хочет фильтровать элементы, просто хочет найти первое совпадение документа. Было бы полезно, если вы разместите свой ответ на запрос, который вы пытаетесь, и результаты, которые вы хотите получить.

EoinS 31.10.2018 14:04

честно я думаю, что вы хотите использовать helpFaqsModel.findOne({"eStatus":"y"})

EoinS 31.10.2018 14:04
1
3
16
0

Другие вопросы по теме