我找不到在数组中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或$ all
最佳答案
您可以简单地使用attributes.prices.0.UnitPrice
。
选择器示例:
{
"selector": {
"attributes.prices.0.UnitPrice": 1
}
}
关于javascript - 无法从对象数组中选择第一个对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50898256/