I am trying to get the average value of an integer field using the aggregation structure in Mongo. However, I cannot find any example that uses it without a group parameter.
I have the following document structure:
{ "_id" : ObjectId("5352703b61d2739b2ea44e4d"), "Semana" : "2014-02-23 - 2014-03-01", "bolsaDeValores" : "7", "bvc" : "8", "dollar" : "76", "ecopetrol" : "51", "dollarPrice" : "18" }
Basically, I want to get the average value of the bvc field and any other numeric field for the entire collection in the fastest way (without using MapReduce, since it is less efficient than the aggregation structure).
I tried to group from scratch, but to no avail:
db.EvaluatedSentiments.aggregate([ { "$group": { "bvc" : {"$gt:0"} }, { "bvc" : { "$avg" : "$bvc"} } } ])
I appreciate any help you could provide.
Links: Mongo Aggregation Guide
mongodb aggregation-framework
Nicolasz
source share