这一定很容易..但我找不到答案......
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' } }
任何线索?
答案 0 :(得分:3)
如果我正确理解您的问题,则无法使用点表示法来访问您想要的变量。你需要:
var crit = {
'webshopId': webshopId,
'type': 'product'}
};
crit['sku.regularPrice'] = { $gte : parameters.minPrice};
哪会导致:
{
webshopId: 'rawDemo',
type: 'product',
'sku.regularPrice': { '$gte': '3' }
}