2

Stringaをに変換しようとしてい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 進形式に変換する必要があることは理解しています。

4

1 に答える 1