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

如何在javascript中访问空对象中的嵌套对象,javascript,node.js,Javascript,Node.js,//这是一个模型。我想访问商户参考号。基于此,我想将结算状态更新为true body: { code: {type: String}, message : {type: String}, status_code: {type: String}, yes_reference_number: {type: String}, merchant_reference_number: {type: String},

//这是一个模型。我想访问商户参考号。基于此,我想将结算状态更新为true

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

            });

在为对象指定特性之前,需要先创建对象。在这种情况下,您可以执行以下操作:

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

还有一个疑问。如果我想在同一型号中使用状态代码进行搜索?