不能 select 对象数组中的第一个对象
Can't select first object from array of objects
我无法找到 select 数组中第 0 个位置的对象。基本上,我一直在寻找能够在任何地方完成 attributes.prices[0].UnitPrice
的功能,但找不到答案。我的 objective 是 select 价格范围从...到使用 UnitPrice
字段。产品包含价格数组:
prices: [
{
...,
UnitPrice: 5
},
...
]
尝试了以下查询,但 returns 错误:
...
$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、$[= 之一26=]、$regex、$elemMatch、$type、$allMatch 或 $all
您可以简单地使用 attributes.prices.0.UnitPrice
。
选择器示例:
{
"selector": {
"attributes.prices.0.UnitPrice": 1
}
}
我无法找到 select 数组中第 0 个位置的对象。基本上,我一直在寻找能够在任何地方完成 attributes.prices[0].UnitPrice
的功能,但找不到答案。我的 objective 是 select 价格范围从...到使用 UnitPrice
字段。产品包含价格数组:
prices: [
{
...,
UnitPrice: 5
},
...
]
尝试了以下查询,但 returns 错误:
...
$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、$[= 之一26=]、$regex、$elemMatch、$type、$allMatch 或 $all
您可以简单地使用 attributes.prices.0.UnitPrice
。
选择器示例:
{
"selector": {
"attributes.prices.0.UnitPrice": 1
}
}