【发布时间】:2020-01-08 11:48:26
【问题描述】:
我读到: .save 检查是否存在与您保存的文档具有相同 _id 的文档。 当它存在时,它会替换它。当不存在这样的文档时,它会将该文档作为新文档插入。
但是当我这样做时:
barTable = new barModel(received.bar);
return resolve(barTable.save());
它适用于新记录,但保存现有记录时出现此错误:
{
"err": true,
"errMsg": "Error while barEdit: MongoError: E11000 duplicate key error collection: pattayanight.bar index: _id_ dup key: { : \"aa11\" }"
}
为什么它不像文档说的那样更新?
这是我的模型:
var Schema = mongoose.Schema;
var barSchema = new Schema({
_id: String,
type: String,
area: String,
shortText: String
}, { versionKey: false });
module.exports = mongoose.model('barModel', barSchema,'bar');
当然,我总是可以将 findOneAndUpdate 与 upsert:true 一起使用,但为什么 .save 不更新现有记录?
【问题讨论】:
标签: mongodb