Агрегация RestHeart
Я пытаюсь научиться использовать restHeart rest api и посмотреть, смогу ли я избежать какого-либо пользовательского кода, чтобы написать любой код Java для запроса MongoDB.
Я пытаюсь выполнить ниже mongoshell запрос, любая идея, как это должно быть написано в запросе RestHeart?
db.getCollection('InsStatData').aggregate({'$match':{'$and':[{ 'sectionName': 'ASSETS'},{'year':2015},{ 'sections.data.rowIdx': 1},{'sections.data.values.colIdx':2}]}},
{ '$unwind': '$sections' },
{ '$unwind': '$sections.data' },
{ '$unwind': '$sections.data.values' },
{'$match':{'$and':[{ 'sectionName': 'ASSETS'},{'year':2015},{
'sections.data.rowIdx': 1},{'sections.data.values.colIdx':2}]}}
)
InsStatData является коллекционным именем.
1 ответ
Да RESTHeart поддерживает агрегации.
По сути, вы можете определить агрегацию, создавая документ с конвейерами агрегации в нем в ресурсе /db/coll/_aggrs.
У документа агрегации есть свойство uri, которое делает его доступным в /db/coll/_aggrs /uri
Агрегация также может содержать переменные в виде {"$var": "n"}
и переменная может быть передана следующим образом
GET /db/coll/_aggrs/<uri>=avars={"n": { <any json> }}
Обратитесь к этой странице документации для получения дополнительной информации https://softinstigate.atlassian.net/wiki/x/AwDw