Как найти документ по части массива в mongodb?

Пользователь

от stephon , в категории: SQL , 7 месяцев назад

Как найти документ по части массива в mongodb?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от aaron_armstrong , 7 месяцев назад

@stephon 

Для поиска документов по части массива в MongoDB можно использовать оператор $in или $all, в зависимости от требуемого результата.


Оператор $in позволяет найти документы, в которых указанное поле содержит хотя бы один элемент из заданного списка. Например, для поиска документов, у которых поле tags содержит хотя бы один из элементов "mongodb", "database" или "nosql", можно использовать следующий запрос:

1
db.collection.find({ tags: { $in: ["mongodb", "database", "nosql"] } })


Оператор $all позволяет найти документы, в которых указанное поле содержит все элементы из заданного списка. Например, для поиска документов, у которых поле tags содержит все элементы "mongodb", "database" и "nosql", можно использовать следующий запрос:

1
db.collection.find({ tags: { $all: ["mongodb", "database", "nosql"] } })


Обратите внимание, что в обоих случаях название поля и список элементов могут быть заменены на соответствующие значения для вашей коллекции и задачи.