Подтвердить что ты не робот

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" и есть ли на нем документация? Я немного искал язык, но ничего не нашел.

4b9b3361

Ответ 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 документ. Документ можно рассматривать как запись (ы).