Чтобы искать документы, где поле массива содержит конкретные значения, MongoDB позволяет запрашивать поля массива напрямую без специального синтаксиса для одного значения, или использовать оператор $all для нескольких значений.
Чтобы найти документы, где массив содержит хотя бы одно конкретное значение, просто сравни поле с этим значением напрямую:
db.users.find({ skills: "MongoDB" })
MongoDB автоматически проверяет, встречается ли "MongoDB" где-нибудь в массиве skills.
Чтобы найти документы, где массив содержит все указанные значения, используй оператор $all:
db.users.find({ skills: { $all: ["MongoDB", "Node.js"] } })
Ключевые особенности $all:
$all — возвращает документы, где массив содержит все указанные значенияКогда ты запрашиваешь поле массива в MongoDB с прямым совпадением, например { skills: 'MongoDB' }, запрос вернёт документы, где массив skills содержит 'MongoDB' как минимум один элемент, независимо от других значений в массиве.
Новый — ещё не проверен сообществом
Вы