json - 一次在同一个节点上添加2个元素? (或在不存在的节点中)

时间:2014-11-27 01:13:47

标签: javascript json node.js

这一定很容易..但我找不到答案......

    var crit = {
        'webshopId': webshopId,
        'type': 'product'} 
    };

我需要在暴击中添加sku.regularPrice = {$ gte:parameters.minPrice};

所以...如果我这样做

crit.sku.regularPrice = { $gte : parameters.minPrice};

我将收到一个异常:TypeError:无法设置未定义的属性'regularPrice'

这是因为暴击不存在sku。

好的,所以,让我们创造......

crit.sku = {};

这会给我带来不受欢迎的结果......就像这样......

 { webshopId: 'rawDemo',
   type: 'product',
   sku: { regularPrice: { '$gte': '3' } } }

所以,创建了一个子节点:(我真的需要:sku.regularPrice:{$ gte:3}

所以,我的预期结果必须是......

 { webshopId: 'rawDemo',
   type: 'product',
   sku.regularPrice: { '$gte': '3' } } 

在暴击变量。硬编码表示可能是......

 var crit = { webshopId: 'rawDemo',
   type: 'product',
   sku.regularPrice: { '$gte': '3' } } 

任何线索?

1 个答案:

答案 0 :(得分:3)

如果我正确理解您的问题,则无法使用点表示法来访问您想要的变量。你需要:

var crit = {
    'webshopId': webshopId,
    'type': 'product'} 
};

crit['sku.regularPrice'] = { $gte : parameters.minPrice};

哪会导致:

{ 
   webshopId: 'rawDemo',
   type: 'product',
   'sku.regularPrice': { '$gte': '3' }
}