javascript - 从字符串获取 Mongoose ObjectId

标签 javascript node.js mongodb mongoose objectid

我正在尝试将 String 转换为 ObjectId:

  var _id=mongoose.Types.ObjectId(req.body.notebook);

笔记本值实际上是数据库中文档的ID:

> db.notebook.findOne()
{
    "title" : "My Notebook",
    "isActive" : false,
    "_id" : ObjectId("54505ced1fa5b1b519bdfc88"),
    "notes" : [ ],
    "__v" : 0
}

我正在调试,方法如下:

  mongoose.types.ObjectId("54505ced1fa5b1b519bdfc");

我在调试时遇到了这样的错误:

 ObjectId must either be a 12 byte string or 24 hex charecters.

此错误是由 ObjectId.isValid 方法发生的。我尝试使用以下方法进行转换:

 mongoose.Types.ObjectId.fromString(req.body.notebook);

 mongoose.mongo.BSONPure.ObjectID.fromString(req.body.notebook);

我知道我必须将此字符串转换为适当的十六进制格式。我该怎么做?

最佳答案

“54505ced1fa5b1b519bdfc” - 仅 22 个字符长。不完整。

关于javascript - 从字符串获取 Mongoose ObjectId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26670534/

相关文章:

javascript - 将使用createElement(Javascript)创建的动态数据保存到数据库

javascript - 如何使用 JavaScript(js) 克隆和删除 html 表单?

javascript - 自动填充的输入在 Shiny 中未读取

node.js - 使用 npm 管理客户端脚本

spring - 为什么 Spring ReactiveMongoRepository 没有 Mono 的保存方法?

mongodb - 如何在 MongoDB 中查找带计数的连续文档?

javascript - 如何根据数组值过滤 MongoDB 数据?

javascript - 由于错误代码 : InvalidKeyOrUnauthorizedURLMapError,提供的 Google API key 无效

node.js - ElasticSearch typescript 支持

javascript - 如何解决此 dialogflow 错误 : text input not set?