我找不到在阵列中0位置选择对象的方法。基本上,我一直在寻找能够在任何地方完成 attributes.prices[0].UnitPrice
的功能而无法找到答案。我的目标是从...到使用 UnitPrice
字段选择价格。产品包含价格数组:
prices: [
{
...,
UnitPrice: 5
},
...
]
尝试了以下查询,但它返回错误:
...
$and:
[
{ 'attributes.prices': { $in: { UnitPrice: { $gte: price.from } } } },
{ 'attributes.prices': { $in: { UnitPrice: { $lte: price.to } } } }
// { 'attributes.prices': { $elemMatch: { UnitPrice: { $gte: price.from } } } },
// { 'attributes.prices': { $elemMatch: { UnitPrice: { $lte: price.to } } } }
]
错误:未知运算符" 0" - 应该是$ eq,$ lte,$ lt,$ gt,$ gte,$ exists,$ ne,$ in,$ nin,$ size,$ mod,$ regex,$ elemMatch,$ type,$ allMatch或$所有
答案 0 :(得分:1)
您只需使用attributes.prices.0.UnitPrice
。
选择器示例:
{
"selector": {
"attributes.prices.0.UnitPrice": 1
}
}