MongoDB через Mongoose JS - Что такое findByID?
Я пишу сервер NodeJS с ExpressJS, PassportJS, MongoDB и MongooseJS. Мне просто удалось получить PassportJS для использования пользовательских данных, полученных через Mongoose для аутентификации.
Но чтобы заставить его работать, мне пришлось использовать функцию "findById", как показано ниже.
var UserModel = db.model('User',UserSchema);
UserModel.findById(id, function (err, user) { < SOME CODE > } );
"UserModel" - модель Mongoose. Я объявляю схему "UserSchema" ранее. Итак, я полагаю, что "UserModel.findById" - это метод модели Mongoose?
Вопрос
Что делает "findById" и есть ли на нем документация? Я немного искал язык, но ничего не нашел.
Ответы
Ответ 1
findById
- метод удобства для модели, предоставленной Mongoose для поиска документа по его _id. Документацию для него можно найти здесь.
Пример:
// Search by ObjectId
var id = "56e6dd2eb4494ed008d595bd";
UserModel.findById(id, function (err, user) { ... } );
Функционально это то же самое, что и вызов:
UserModel.findOne({_id: id}, function (err, user) { ... });
Ответ 2
В отличие от find(), который может возвращать 1 или более документов,
findById() может возвращать только 0 или 1 документ.
Документ можно рассматривать как запись (ы).