我正在用 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 模型的一个方法?
问题
findById
是做什么的,是否有相关文档?我用谷歌搜索了一下,但没有找到任何东西。
最佳答案
findById
是 Mongoose 提供的模型上的一种便捷方法,用于通过其 _id 查找文档。可以找到它的文档 here .
例子:
// Search by ObjectId
var id = "56e6dd2eb4494ed008d595bd";
UserModel.findById(id, function (err, user) { ... } );
功能上和调用是一样的:
UserModel.findOne({_id: id}, function (err, user) { ... });
请注意,Mongoose 会将提供的 id
值转换为架构中定义的 _id
类型(默认为 ObjectId)。
https://stackoverflow.com/questions/12483632/
相关文章:
mongodb - 如何按插入时间对 Meteor 集合进行排序?
javascript - 使用 Mongoose 的 .populate() 返回某些字段
mongodb - 检查 MongoDB upsert 是否进行了插入或更新
c# - MongoDB C# 驱动程序 - 忽略绑定(bind)字段
node.js - Mongoose Schema 尚未注册模型
mongodb - 如何在 Mongoose 中进行原始 mongodb 操作?
javascript - Node.js - 使用 Mongoose 创建关系