$elemMatchОператор $elemMatch используется для запросов к полям массивов в MongoDB. Он находит документы, где хотя бы один элемент массива удовлетворяет всем указанным условиям одновременно.
Без $elemMatch MongoDB оценивает каждое условие независимо по всему массиву. Это означает, что разные элементы могут удовлетворять разным условиям, что приводит к ложноположительным совпадениям. $elemMatch гарантирует, что все условия применяются к одному и тому же элементу.
db.students.find({
scores: {
$elemMatch: { subject: "math", score: { $gte: 90 } }
}
})
Этот запрос возвращает только документы, где массив scores содержит элемент, который одновременно имеет предмет "math" и имеет оценку 90 или выше.
$elemMatch требует, чтобы хотя бы один элемент массива соответствовал всем критериям$elemMatch гарантирует, что все указанные условия вычисляются для одного и того же элемента массива, предотвращая ложные совпадения, когда условия удовлетворяются разными элементами.
Новый — ещё не проверен сообществом
Вы