多个更新api命中在Mongoose中返回不一致的结果

时间:2018-04-16 05:06:30

标签: mongodb mongoose

使用Mongoose我已经创建了一个更新API,但它总是返回不一致的结果。 我的架构是: -

var BookSchema = new Schema({
    BookID: { type: mongoose.Schema.ObjectId, required:true },
    BookAuthor: { type: String, index:{unique:true} },
    BookVersion: { type:String},
    IsbnNo: { type:Number }
});

我的查询是: -

api.route('/UpdateBookbyBookId/:BookServerID')
    .put(function(req,res){
        Book.update({BookServerID : req.body.BookServerID},{$set: { "BookAuthor": req.body.BookAuthor} },function(err,vctestData){
            if(err){
                console.log(err)
                res.json({success:false, message: 'Update failed!'+err, errorCode:err.code });return
            }
            if(vctestData.nModified==0){
                res.json({success:false,message: 'Unable to modify!', errorCode:null });
            }else{
                res.json({success:true,message: 'Details Updated!', errorCode:null });
            }                
        })
})

但它返回不一致结果: -

记录1

{ ok: 1, nModified: 1, n: 1 }

记录2

{ ok: 1, nModified: 0, n: 0 }

我的FrontEnd团队在他们操作UI上的更新书API时有时会两次点击此API,当无法“nModified:0”时返回,或者有时在修改数据时返回“nModified:1”,有人可以向我解释为什么会这样。

0 个答案:

没有答案