【发布时间】:2021-08-03 23:07:33
【问题描述】:
我有包含数组字段的聚合。该数组字段包含文档(对象)。对于这些,我有一些匹配条件,我想创建一个名为 lowestCheapIndex 和 highestExpensiveIndex 的新字段,每个字段都有匹配元素的数组索引。
匹配标准:
lowestCheapIndex - 应该包含任何价格低于 20 的记录项的 lowest 数组索引号。
highestExpensiveIndex - 应该包含任何价格超过 30 的记录项的 highest 数组索引号。
我当前的聚合输出:
{
'_id': 'Egg shop',
'records': [
{'_id': 1, 'price': 22},
{'_id': 2, 'price': 18},
{'_id': 3, 'price': 34},
{'_id': 4, 'price': 31},
{'_id': 5, 'price': 13},
]
}
期望的输出:
{
'_id': 'Egg shop',
'records': [
{'_id': 1, 'price': 22},
{'_id': 2, 'price': 18},
{'_id': 3, 'price': 34},
{'_id': 4, 'price': 31},
{'_id': 5, 'price': 13},
],
'lowestCheapIndex': 1,
'highestExpensiveIndex': 3,
}
问题:
如何根据我的条件检索数组索引?我在文档中找到了$indexOfArray,但我仍然很难在我的情况下如何使用它。
【问题讨论】:
标签: mongodb mongodb-query