Sorry, I was using an inject node to set the query on the msg.payload, maybe it has not been understood. Here I send you the flow that I have used.
[{"id":"c7a877f7.e1d698","type":"tab","label":"Aggregate","disabled":false,"info":""},{"id":"afd75fed.e8936","type":"inject","z":"c7a877f7.e1d698","name":"Inject","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":330,"y":400,"wires":[["6eecdeea.201b4"]]},{"id":"6eecdeea.201b4","type":"function","z":"c7a877f7.e1d698","name":"Aggregate Query","func":"msg.payload = [\n {\n $match: {}\n },\n {\n $group: {\n _id: null,\n avgAge: {\n $avg: \"$edad\"\n }\n }\n },\n {\n $sort: {}\n }\n]\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":620,"y":400,"wires":[["a6f169ca.ff2758"]]},{"id":"a6f169ca.ff2758","type":"mongodb in","z":"c7a877f7.e1d698","mongodb":"39adf9d0.a8c876","name":"DB","collection":"RealSociedad","operation":"aggregate","x":850,"y":320,"wires":[["633af756.eb0da8"]]},{"id":"633af756.eb0da8","type":"debug","z":"c7a877f7.e1d698","name":"Debug","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1030,"y":320,"wires":[]},{"id":"30354167.f7ef5e","type":"inject","z":"c7a877f7.e1d698","name":"Aggregate Query","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"[{\"$match\":{}},{\"$group\":{\"_id\":null,\"avgAge\":{\"$avg\":\"$edad\"}}},{\"$sort\":{}}]","payloadType":"json","x":510,"y":300,"wires":[["a6f169ca.ff2758"]]},{"id":"9a520ca4.3a0b9","type":"comment","z":"c7a877f7.e1d698","name":"Here I inject the aggregate query directly on the msg.payload.","info":"","x":500,"y":260,"wires":[]},{"id":"7efdae23.43643","type":"comment","z":"c7a877f7.e1d698","name":"Here I use a function to set the query on the msg.payload.","info":"","x":490,"y":460,"wires":[]},{"id":"39adf9d0.a8c876","type":"mongodb","z":"","hostname":"127.0.0.1","topology":"direct","connectOptions":"","port":"27017","db":"futbol","name":""}]
The collection that I'm using contains different football players. The keys are in spanish so maybe you don't understand some parameters. The keys are: "name", "last name", "age" and "city". Here I send you an example.
{
"_id" : ObjectId("5f7c5c93aa866ad1769ba10c"),
"nombre" : "Mikel",
"apellido" : "Oyarzabal",
"edad" : 23,
"pueblo" : "Eibar"
}
{
"_id" : ObjectId("5f7c5e9cc480ecb478b42ad2"),
"nombre" : "Mikel",
"apellido" : "Merino",
"edad" : 23,
"pueblo" : "Pamplona"
}
{
"_id" : ObjectId("5f7c6d79bd7a1ead7894e24e"),
"nombre" : "Joseba",
"apellido" : "Zaldua",
"edad" : 28,
"pueblo" : "Donostia"
}