RestHeart聚合

RestHeart aggregation

我正在尝试学习使用 restHeart 休息 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 是 collecitonName。

是的,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