mongodb - mongoose update
MongoDB a través de Mongoose JS-¿Qué es findByID? (3)
Estoy escribiendo un servidor NodeJS con ExpressJS, PassportJS, MongoDB y MongooseJS. Me las arreglé para hacer que PassportJS use los datos del usuario obtenidos a través de Mongoose para autenticarse.
Pero para hacerlo funcionar, tuve que usar una función "findById" como la siguiente.
var UserModel = db.model(''User'',UserSchema);
UserModel.findById(id, function (err, user) { < SOME CODE > } );
"UserModel" es un modelo Mongoose. Declaro el esquema, "UserSchema" antes. Entonces, ¿supongo que "UserModel.findById" es un método del modelo Mongoose?
Pregunta
¿Qué hace "findById" y hay documentación en él? Busqué en Google un poco, pero no encontré nada.
A diferencia de find () que puede devolver 1 o más documentos, findById () solo puede devolver 0 o 1 documento. Documento (s) puede ser considerado como registro (s).
Si el esquema de id no es de tipo ObjectId, no puede operar con la función: findbyID ()
findById
es un método de conveniencia en el modelo proporcionado por Mongoose para encontrar un documento por su _id. La documentación para ello se puede encontrar here .
Ejemplo:
// Search by ObjectId
var id = "56e6dd2eb4494ed008d595bd";
UserModel.findById(id, function (err, user) { ... } );
Funcionalmente, es lo mismo que llamar:
UserModel.findOne({_id: id}, function (err, user) { ... });