我正在尝试将 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/