我正在用ExpressJS,PassportJS,MongoDB和MongooseJS编写NodeJS服务器 . 我设法让PassportJS使用通过Mongoose获得的用户数据进行身份验证 .
但要使其工作,我必须使用如下所示的“findById”函数 .
var UserModel = db.model('User',UserSchema);
UserModel.findById(id, function (err, user) { < SOME CODE > } );
UserModel
是一个Mongoose模型 . 我之前声明了架构 UserSchema
. 所以我认为 UserModel.findById()
是Mongoose模型的一种方法?
Question
findById
做了什么,有文件吗?我用Google搜索了一下但没有发现任何东西 .
3 回答
findById
是Mongoose提供的模型的便捷方法,用于通过_id查找文档 . 它的文档可以在here找到 .例:
在功能上,它与调用相同:
请注意,Mongoose会将提供的
id
值转换为模式中定义的_id
类型(默认为ObjectId) .与find()相反,find()可返回1个或多个文档,findById()只能返回0或1个文档 . 文件可以被认为是记录 .
如果id的模式不是 ObjectId 类型,则无法使用函数进行操作: findbyId()