猫鼬更新:$ inc在upsert中不起作用 [英] mongoose update : $inc is not working in upsert

查看:65
本文介绍了猫鼬更新:$ inc在upsert中不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图更新文档(如果存在)或插入(如果不存在).我有一个带有$ inc,的字段(想将前一个值加1). 我的代码是

I am trying to update the document if exist or insert if not exist.I have one field with $inc,( want to increment previous value by one). My code is

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}

Only $inc is not working. In schema i have 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);
});

或者如果您想使用一个对象:

Or If you want to use an object:

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);
});

这篇关于猫鼬更新:$ inc在upsert中不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆