Mongosh findone — это команда, используемая в оболочке MongoDB для получения одного документа из коллекции MongoDB, соответствующего указанным критериям запроса. Вот несколько методов с примерами кода, демонстрирующие использование метода findOneв MongoDB:
Метод 1: базовое использование
db.collection.findOne({ <query> })
Этот метод извлекает первый документ, соответствующий указанным критериям запроса в данной коллекции.
Пример:
db.users.findOne({ name: "John" })
Этот запрос вернет первый документ в коллекции «пользователи», в котором поле имени равно «Джон».
Метод 2: сортировка и проецирование
db.collection.findOne({ <query> }, { <projection> })
Этот метод позволяет указать проекцию для включения или исключения определенных полей из возвращаемого документа. Вы также можете применить к запросу критерии сортировки.
Пример:
db.users.findOne({ age: { $gt: 18 } }, { name: 1, age: 1 })
Этот запрос вернет первый документ в коллекции «пользователи», возраст которого превышает 18 лет, включая только поля имени и возраста.
Метод 3: использование параметров
db.collection.findOne({ <query> }, { <projection> }, { <options> })
Этот метод позволяет указать дополнительные параметры, такие как максимальное время ожидания документа или возможность чтения.
Пример:
db.users.findOne({ status: "active" }, { name: 1 }, { maxTimeMS: 1000 })
Этот запрос вернет первый документ в коллекции «пользователи» со статусом «активный» и ограничит время выполнения 1 секундой.
Метод 4. Обработка ошибок
db.collection.findOne({ <query> }) || null
Этот метод позволяет обрабатывать случаи, когда ни один документ не соответствует критериям запроса. Используя || null, вы можете назначить значение по умолчанию null, если документ не найден.
Пример:
const user = db.users.findOne({ email: "nonexistent@example.com" }) || null;
if (!user) {
console.log("User not found");
}