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
}
- Post请求回调在这里
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)
}
我的问题是我正在编写一个脚本,通过 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
}
- Post请求回调在这里
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)
}