如何访问文档字段的先前值并在mongoose

时间:2016-09-16 10:57:01

标签: node.js mongodb mongoose database

我想在单个mongoose Query中更新我的文档字段“investorCount”以及同一文档中的另一个更新。

我的更新查询是

  Campaign.update({"campaign.campaign_Id":data.campaignId},{$push: {"campaign.investorsDetails":{investorId: id,investedAmount: Amtinv }},$set : {"campaign.investorCount" : this."campaign.investorCount" + 1 }},function(error,update){
if(error){
    defered.reject(error);
}else{
    console.log(update);
 defered.resolve(update);
}
});
return defered.promise;
}

我的架构是 -

var campaignSchema =  new Schema ({
campaign: 
{
campaign_Id :  {type: Number ,index :{unique:true}},
beneficiaryAccount : {type : String , required:true},
createdBy : {type : String },
investorsDetails : [{
    investorId:{type:Number} ,
    investedAmount : {type:Number}
}],
investorCount : {type : Number , default : 0}
}});

我使用'this'运算符来访问字段的当前值但是它不起作用,请帮我解决这个问题

1 个答案:

答案 0 :(得分:1)

Mongo为此提供了方便的$inc运算符:

$inc : {"campaign.investorCount" : 1 }}