Mongoose return 新数据的重复键

Mongoose return duplicate key for new data

我的问题是我正在编写一个脚本,通过 post 请求将 JSON 存储在数据库服务器上。 存在这样的问题:

第一次,每次JSON在服务器重启时提交成功。 之后,将不会提交 JSON 数据并给 mongoose 重复 id 问题。

E11000 duplicate key error index: [database_name].[collection].$_id_ dup key: { : "2c73c49d-8ad2-49bf-b5a1-520aa595df17" }
new Schema({
  _id: { type: String, default: uuidv4() },
  ... // remainings
}
function (req, res) {
    models
     .create({'---': req.body.---, ..., ..., ..., ...})
     .then(result => res.json(result))
     .catch(err => {
       res.send(err.message);
     });
}

default参数应该是一个函数

如果您传递 uuidv4(),它将在创建架构时传递生成的值,并将该值用于所有文档。

架构应该这样定义。

new Schema({
  _id: { type: String, default: uuidv4 },
  ... // remainings
}

你可以按照这个代码

async function (req, res) {
   const _doc=await models.create(req.body)
    res.send(_doc)
}