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