首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >通过Mongoose JS的MongoDB -什么是findByID?

通过Mongoose JS的MongoDB -什么是findByID?
EN

Stack Overflow用户
提问于 2012-09-19 03:26:12
回答 4查看 136K关注 0票数 72

我正在写一个NodeJS服务器与ExpressJS,PassportJS,MongoDB和MongooseJS。我刚刚设法让PassportJS使用通过Mongoose获得的用户数据进行身份验证。

但为了让它正常工作,我不得不使用如下所示的"findById“函数。

代码语言:javascript
复制
var UserModel = db.model('User',UserSchema);

UserModel.findById(id, function (err, user) { < SOME CODE > } );

UserModel是一种Mongoose模型。我在前面声明了模式UserSchema。所以我认为UserModel.findById()是Mongoose模型的一种方法?

问题

findById是做什么的,有关于它的文档吗?我用谷歌搜索了一下,但什么也没找到。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-09-19 03:34:26

findById是Mongoose提供的模型上的一种便捷方法,用于通过其_id查找文档。它的文档可以在here中找到。

示例:

代码语言:javascript
复制
// Search by ObjectId
var id = "56e6dd2eb4494ed008d595bd";
UserModel.findById(id, function (err, user) { ... } );

在功能上,它与调用相同:

代码语言:javascript
复制
UserModel.findOne({_id: id}, function (err, user) { ... });

请注意,Mongoose将把提供的id值转换为模式中定义的_id类型(缺省为ObjectId)。

票数 145
EN

Stack Overflow用户

发布于 2018-05-23 14:56:06

如果id的模式不是ObjectId类型,则不能使用function:findbyId()进行操作

票数 9
EN

Stack Overflow用户

发布于 2014-01-29 07:25:48

与可以返回1个或更多文档的find()相反,findById()只能返回0或1个文档。文档可以被认为是记录。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12483632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档