В MongoDB для поиска и получения записей используется метод find()
. Данный метод позволяет указывать условия поиска и возвращать соответствующие записи из коллекции.
Рассмотрим несколько вариантов использования метода find()
:
- Без условий поиска:
db.collection.find()
В этом случае метод find()
вернет все записи из указанной коллекции.
- С использованием условий поиска:
db.collection.find({ условие })
Вместо условие
необходимо указать критерии, по которым будут отобраны записи. Например, если в коллекции есть поле "имя" и вы хотите найти все записи, у которых имя равно "John", то запрос будет выглядеть так:
db.collection.find({ имя: "John" })
- С использованием условий поиска и операторов:
db.collection.find({ поле: { оператор: значение } })
Здесь оператор
может быть одним из следующих:
$eq
: равно$ne
: не равно$gt
: больше$lt
: меньше$gte
: больше или равно$lte
: меньше или равно$in
: содержит одно из значений из массива$nin
: не содержит ни одного из значений из массива
Например, чтобы найти все записи, у которых возраст больше 25, запрос будет выглядеть так:
db.collection.find({ возраст: { $gt: 25 } })
- Дополнительные параметры:
.limit(n)
: ограничивает количество возвращаемых записей значениямиn
.sort({ поле: 1 })
: сортирует записи по возрастанию значения поля.sort({ поле: -1 })
: сортирует записи по убыванию значения поля.skip(n)
: пропускает указанное количество записей
Например, для поиска первых 10 записей, отсортированных по полю "дата" в убывающем порядке, запрос будет выглядеть так:
db.collection.find().sort({ дата: -1 }).limit(10)
- Возврат только определенных полей:
db.collection.find({}, { поле: 1 })
В этом случае будут возвращены только указанные поля.
- Возврат всех полей, кроме определенных:
db.collection.find({}, { поле: 0 })
Здесь будут возвращены все поля, кроме указанных.
Метод find()
может быть использован не только для поиска, но и для агрегации данных, группировки и других операций.