В MongoDB запросы строятся с использованием метода find()
, который позволяет фильтровать документы в коллекции по заданным критериям. В этом ответе я подробно расскажу о различных вариантах построения запросов в MongoDB.
Простой запрос по значению поля:
db.collection.find({field: value})
В данном запросе db.collection
представляет собой имя коллекции, в которой вы хотите произвести поиск, а {field:value}
— критерий поиска. Например, {name: "John"}
найдет все документы, где поле name
имеет значение "John".
Операторы сравнения:
Можно использовать операторы сравнения, чтобы уточнить критерии поиска:
db.collection.find({field: {$gt: value}}) db.collection.find({field: {$lt: value}})
Здесь $gt
означает "больше чем", а $lt
означает "меньше чем". Например, {age: {$gt: 18}}
найдет все документы, где значение поля age
больше 18.
Логические операторы:
Можно использовать логические операторы, чтобы объединять несколько критериев поиска:
db.collection.find({$and: [{field1: value1}, {field2: value2}]}) db.collection.find({$or: [{field1: value1}, {field2: value2}]})
Здесь $and
означает "и", а $or
означает "или". Например, { $and: [{name: "John"}, {age: {$gt: 18}}]}
найдет все документы, где поле name
равно "John" и поле age
больше 18.
Запрос с применением проекции:
Можно использовать опцию projection
, чтобы указать, какие поля из документа следует включить или исключить:
db.collection.find({}, {field1: 1, field2: 1}) db.collection.find({}, {field1: 0, field2: 0})
Здесь 1
указывает, что поле должно быть включено в результат, а 0
указывает, что поле должно быть исключено. Например, {},{name: 1, age: 0}
найдет все документы, где будут только поля name
.
Сортировка результатов:
Можно использовать метод sort()
, чтобы отсортировать результаты:
db.collection.find({}).sort({field: 1}) db.collection.find({}).sort({field: -1})
Здесь 1
указывает сортировку по возрастанию, а -1
указывает сортировку по убыванию. Например, {}.sort({age: -1})
отсортирует результаты по полю age
в убывающем порядке.
Данный ответ покрывает основные методы и операции для построения запросов в MongoDB. Вы можете комбинировать их для достижения более сложных результатов. Также у MongoDB есть обширная документация, где вы можете найти более подробные примеры и информацию: https://docs.mongodb.com/manual/reference/method/db.collection.find/