小编Ele*_*ena的帖子

Mongoose findOneAndUpdate 在使用 aws Documentdb 时抛出“不支持可重试写入”错误

我有一个架构如下:

var answerSchema = new mongoose.Schema({
  username: {
    type: String,
    unique: true,
    required: true
  }
)
mongoose.model("Answer", answerSchema)
Run Code Online (Sandbox Code Playgroud)

在另一个文件中我有:

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.')
      }
    })
})
Run Code Online (Sandbox Code Playgroud)

目前在 mongo shell 中,我可以运行 db.answers.find().pretty() 它给了我:

{
        "_id" : ObjectId("5fe656077ddb2a4e1a91d808"),
        "username" : "aaaa",
        "__v" …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js aws-documentdb

2
推荐指数
1
解决办法
2581
查看次数

标签 统计

aws-documentdb ×1

mongodb ×1

mongoose ×1

node.js ×1