使用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”,有人可以向我解释为什么会这样。