MongoDB via Mongoose JS – Qu’est-ce que findByID?

J’écris un serveur NodeJS avec ExpressJS, PassportJS, MongoDB et MongooseJS. Je viens juste de faire en sorte que PassportJS utilise les données d’utilisateur obtenues via Mongoose pour s’authentifier.

Mais pour que cela fonctionne, j’ai dû utiliser une fonction “findById” comme ci-dessous.

var UserModel = db.model('User',UserSchema); UserModel.findById(id, function (err, user) {  } ); 

“UserModel” est un modèle Mongoose. Je déclare le schéma, “UserSchema” plus tôt. Donc, je suppose que “UserModel.findById” est une méthode du modèle Mongoose?

Question

Que fait “findById” et existe-t-il une documentation à ce sujet? Je cherchais un peu sur Google mais je n’ai rien trouvé.

findById est une méthode pratique du modèle fourni par Mongoose pour rechercher un document par son identifiant _id. La documentation pour cela peut être trouvée ici .

Exemple:

 // Search by ObjectId var id = "56e6dd2eb4494ed008d595bd"; UserModel.findById(id, function (err, user) { ... } ); 

Fonctionnellement, c’est la même chose que d’appeler:

 UserModel.findOne({_id: id}, function (err, user) { ... }); 

Contrairement à find () qui peut renvoyer un ou plusieurs documents, findById () ne peut renvoyer que 0 ou 1 document. Les documents peuvent être considérés comme des enregistrements.

Si le schéma de l’ID n’est pas de type ObjectId, vous ne pouvez pas utiliser function: findbyId ()