gpt4 book ai didi

javascript - findByIdAndUpdate $set 不检查唯一性?

转载 作者:搜寻专家 更新时间:2023-10-31 23:13:39 25 4
gpt4 key购买 nike

我有一个模式并指定登录是唯一的是真的。当我使用 findByIdAndUpdate 并传递查询 $set 来更新用户对象时,它确实在登录被复制时抛出错误。有谁知道为什么以及如何更新对象并强制执行架构验证?

谢谢!

// UserSchema.js
var schema = new Schema({
login: {
required: true,
unique: true
},
password: {
index: true,
type: String
}
});


// Update
UserSchema.findByIdAndUpdate('someID', { '$set': { login: 'abc' } }, function (error, user) {
callback(error, user);
});

最佳答案

您只需将 runValidators 设置为 true:

findByIdAndUpdate(req.params.id, {$set: data}, {runValidators: true}, function (err, doc) {
if (err) {
// Handle validation errors
}
})

更多信息:http://mongoosejs.com/docs/api.html#findOneAndUpdate

关于javascript - findByIdAndUpdate $set 不检查唯一性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18878131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com