Я пытаюсь выполнить запрос вроде:
{array.0.property: {$ne: null}}
.
Он ничего не возвращает, даже если все документы имеют это свойство, отличное от нуля.
После некоторых тестов я заметил, что он работает с использованием $ elemMatch, но мне нужно запрашивать только первый элемент массива.
Первый элемент должен рассматриваться как «Мастер», где все запросы должны искать.
Я не могу изменить документ "схема".
Кто-нибудь знает, как решить эту проблему?
Я использую Mongodb 3.6.8.
Спасибо за совет.
Пример запроса:
db.getCollection('tasks').find({'details.0.code': {$ne: null}});
Примеры документов:
{
"name": "test",
"date": 2018-07-17 06:30:00.000Z,
.....,
"details": [
{
"code": '123',
"description": 'something',
"resolutionYear": 2018
},
{
"code": null,
"description": 'secondary',
"resolutionYear": 2019
}
]
},
{
"name": "exam",
"date": 2018-09-20 09:00:00.000Z,
.....,
"details": [
{
"code": null,
"description": 'exam',
"resolutionYear": null
}
]
}