当前位置 : 主页 > 网页制作 > Nodejs >

node.js – mongoose更新:$inc在upsert中不起作用

来源:互联网 收集:自由互联 发布时间:2021-06-16
我试图更新文件,如果存在或插入,如果不存在.我有一个字段与$inc,(希望将前一个值增加一个). 我的代码是 var Appuser = new Appusers({ imei: req.body.imei, $inc : {user_count:1}, install_flag : 1});var upser
我试图更新文件,如果存在或插入,如果不存在.我有一个字段与$inc,(希望将前一个值增加一个).
我的代码是

var Appuser = new Appusers({
   imei: req.body.imei,
   $inc : {user_count:1},
   install_flag : 1
});
var upsertData = Appuser.toObject();

delete upsertData._id;

Appusers.update({imei: Appuser.imei}, upsertData, {upsert: true}, function(err, data){ 
   if(err) return console.log(err);
   res.send(data);
});

只有$inc不起作用.在架构中,我有user_count:{type:Number,default:0}

我想建议一下:

Appusers.update({imei: Appuser.imei}, {$set: {imei: req.body.imei, install_flag : 1}, $inc : {user_count:1}}, {upsert: true}, function(err, data){ 
   if(err) return console.log(err);
   res.send(data);
});

或者如果要使用对象:

var upsertData = {
      $set: {imei: req.body.imei, install_flag : 1}, 
      $inc: {user_count: 1}
};

Appusers.update({imei: Appuser.imei}, upsertData, {upsert: true}, function(err, data){ 
   if(err) return console.log(err);
   res.send(data);
});
网友评论