2017-05-18 7 views
1

J'essaie d'apprendre à utiliser restHeart rest api et voir si je peux éviter tout code personnalisé pour écrire un code java pour interroger MongoDB.Agrégation RestHeart

J'essaye d'exécuter ci-dessous la question de mongoshell, aucune idée comment devrait-elle être écrite dans la demande de 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 est collecitonName.

Répondre

1

oui RESTHeart prend en charge les agrégations.

Fondamentalement, vous pouvez définir une agrégation en créant un document avec les pipelines d'agrégation dans la ressource/db/coll/_aggrs.

Le document d'agrégation a uri propriété qui le rend disponible à/db/coll/_aggrs/uri

L'agrégation peut aussi avoir des variables comme {"$var": "n"} et une variable peut être passé comme suivre

GET /db/coll/_aggrs/<uri>=avars={"n": { <any json> }} 

Reportez-vous à cette page de documentation pour plus d'informations https://softinstigate.atlassian.net/wiki/x/AwDw

+0

Merci. L'information a aidé. – Abhinav1singhal