无法从对象数组中选择第一个对象

时间:2018-06-17 15:57:18

标签: javascript couchdb pouchdb

我找不到在阵列中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或$所有

1 个答案:

答案 0 :(得分:1)

您只需使用attributes.prices.0.UnitPrice

选择器示例:

{
   "selector": {
      "attributes.prices.0.UnitPrice": 1
   }
}