猿问

获取错误 ValidatorError: Path `id` 是必需的。在 mongo 数据库中

保存document收藏时出现此错误


ValidatorError: 路径id是必需的。


这是我的代码 https://codesandbox.io/s/lively-tree-hd0fo


const BlogPost = new Schema({

  id: { type: String, required: true, unique: true },

  empid: String,

  date: Date

});


BlogPost.pre("save", function(next) {

  var blog = this;

  console.log();

  var data = `${blog.empid}-${blog.date}`;

  blog.id = crypto

    .createHash("md5")

    .update(data)

    .digest("hex");

  next();

});

当我尝试保存数据时出现错误。一种


pp.get("/saveData", async () => {

  try {

    var blog = new BlogPostModel({

      empid: "test123",

      date: "19-Jul-2019"

    });

    console.log("before save");

    let saveBlog = await blog.save(); //when fail its goes to catch

    console.log(saveBlog); //when success it print.

    console.log("saveBlog save");

  } catch (error) {

    console.log(error);

  }

});


慕哥9229398
浏览 249回答 2
2回答

慕后森

当您保存博客文档时,您不会传递 id 字段。id 由 mongo 自动生成,您无需指定。从 BlogPost 架构中删除 id。但是如果你想给你自己的id然后传递一个唯一的id。const BlogPost = new Schema({  empid: String,  date: Date});
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答