mongodbから情報を作成/削除するための基本フォームを使用しています。mongoose findByIdAndDelete/findOneAndRemove削除しない
Cast to ObjectId failed for value " 596f5d7770f6f0d0c2767d3f" at
path "_id" for model "dwb_notes"
私は周りを見回してきたと回答のほとんどは私が話すにはここを参照してください:私は、フォームを送信しますが、私はこのエラーを得続けるレコードを削除しようとするとき、私は十分に細かいレコードを作成することができます 実行しているアプリケーションの複数のインスタンスや、同じポートなどで動作する複数のプログラムや、私の問題に直接関係のないさまざまなソリューション(私は思う)がありますが、私はそれらを無駄に試しました。
私はテストのために現在DBに1レコードしか持っていません。ここに私のモデルである:
別のHTMLフォームを使用してfunction todoNotesModel(){
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const NotesSchema = new Schema({
todoCompany : String,
todoIsFor : String,
todoPostedBy : String,
todoCompleted : Boolean,
todoPriority : String,
todoMessages : Array,
todoTitle : String,
todoDate : String
});
const NotesModel = mongoose.model("dwb_notes", NotesSchema);
return NotesModel;
}
module.exports = todoNotesModel();
、負荷に、削除ボタンは、文書ID (この場合はその596f5d7770f6f0d0c2767d3f)が割り当てられ、削除ボタンに追加します。私が実行したときに
app.delete("/notesapi/:tabID", (request, response) => {
NotesModel.findByIdAndRemove(request.params.tabID, (error, data)=>{
if(error){
console.log("error in deleting yo!");
throw error;
} else {
console.log("data all gone and deleted yo");
response.status(204);
}
});
});
:提出し、このIDを経由して、削除ルートに渡されるの db.dwb_notes.find().pretty()
私は取り戻す:
"_id" : ObjectId("596f5d7770f6f0d0c2767d3f"),
"todoCompany" : "",
"todoIsFor" : "",
"todoPostedBy" : "LOGGED IN USER HERE",
"todoCompleted" : false,
"todoPriority" : "green",
"todoTitle" : "",
"todoDate" : "Wed Jul 19 2017 09:23:56 GMT-0400 (Eastern Daylight Time)",
"todoMessages" : [
""
],
"__v" : 0
私はドンように、その存在を示しています」なぜこのエラーが発生しているのか理解できません。 アイデア
ObjectID文字列を切り捨てようとしましたか?あなたのエラーでは、ObjectID文字列にスペースがあるように見えます。 –
Howdy Zander、「切り捨てる」とはどういう意味ですか? – somdow
申し訳ありませんが、スティップ:http://php.net/manual/en/function.trim.php –