如何访问javascript中的空对象中的嵌套对象

问题描述:

//这是模型。我想访问merchant_reference_number。依赖于此,我想将settlement_status更新为true。对于更新如何访问javascript中的空对象中的嵌套对象

body: { 
     code: {type: String}, 
     message : {type: String}, 
     status_code: {type: String}, 
     yes_reference_number: {type: String}, 
     merchant_reference_number: {type: String}, 
     amount:{type: Number}, 
     status: {type: String}, 
     error: {type: String} 

    }, 

    settlement_status: {type: Boolean , default: false}, 
    billDate: {type: Date}, 
    bewo_ret_settlement_id: {type:String}, 

//功能

TransactionSettlement: function(req, res, next) { 

    req.params.created_by = req.user._id; 

    var filter = {}; 

    filter.body.merchant_reference_number = { $in: req.params.refnos }; 

//这里错误出现:不能设定的不确定

  Merchant.findOne({ "body.merchant_reference_number": obj.refnos }).exec(function(err, doc) { 

       console.log('err', err); 
       console.log('doc', doc); 
       doc.bewo_ret_settlement_id = obj.bewo_ret_settlement_id; 
       doc.settlement_status = true; 


       doc.save(); 
       res.send(doc); 

      }); 

您需要先创建一个对象,之前的财产 'merchant_reference_number'给它分配一个属性。在这种情况下,您可以这样做:

filter.body = {}; 
filter.body.merchant_reference_number = { $in: req.params.refnos }; 
+0

还有一个疑问。如果我想在同一模型中使用status_code进行搜索? –