String
aをに変換しようとしていObjectId
ます:
var _id=mongoose.Types.ObjectId(req.body.notebook);
ノートブックの値は、実際には次のドキュメントの ID ですdatabase
。
> 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);
この文字列を適切な 16 進形式に変換する必要があることは理解しています。