如何解决Mongoose findOneAndUpdate 在使用 aws Documentdb 时抛出“不支持可重试写入”错误
我的架构如下:
var answerSchema = new mongoose.Schema({
username: {
type: String,unique: true,required: true
}
)
mongoose.model("Answer",answerSchema)
在另一个文件中:
var Answer = mongoose.model("Answer")
router.put("/test",function (req,res){
const query = { _id: "5fe656077ddb2a4e1a91d808"}
const update = { username: 'test' }
const options = {
new: true,upsert: true,setDefaultsOnInsert: true
}
Answer.findOneAndUpdate(query,update,options,function(error,doc) {
if(error){
res.send(error.message)
}
else{
res.send('successfully saved.')
}
})
})
目前在 mongo shell 中,我可以运行 db.answers.find().pretty() 并且它给了我:
{
"_id" : ObjectId("5fe656077ddb2a4e1a91d808"),"username" : "aaaa","__v" : 0
}
但是,当我使用 POSTMAN 访问“/test” URL 时,出现错误“不支持可重试写入”。我知道 documentdb 不支持可重试写入,但是 FindOneAndUpdate 如何需要可重试写入?我还尝试将 set() 和 save() 与 findOne() 一起使用,findOne() 工作正常,但 set() 抛出相同的错误。我在这里错过了什么吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。