Próbuję uzyskać średnią z całego pola przy użyciu frameworka agregacji w Mongo. Jednak nie mogę znaleźć żadnego przykładu, który używa go bez parametru grupy.Zapytanie o średnią agregację Mongo bez grupy
Mam następującą strukturę dokumentu:
{
"_id" : ObjectId("5352703b61d2739b2ea44e4d"),
"Semana" : "2014-02-23 - 2014-03-01",
"bolsaDeValores" : "7",
"bvc" : "8",
"dollar" : "76",
"ecopetrol" : "51",
"dollarPrice" : "18"
}
Zasadniczo co chcę zrobić, to uzyskać średnią wartość pola BVC i wszelkie inne jeden numeryczną dla całej kolekcji w najszybszy możliwy sposób (bez użycia MapReduce, ponieważ jest mniej wydajny niż Framework Aggregation).
Próbowałem grupy w oparciu o większą od zera, jak dobrze, ale bezskutecznie:
db.EvaluatedSentiments.aggregate([
{ "$group": {
"bvc" : {"$gt:0"}
},
{
"bvc" : { "$avg" : "$bvc"}
}
}
])
Doceniam jakiejkolwiek pomocy można dostarczyć.
Referencje: Mongo aggregation manual
Grupuj według null zamiast – Sammaye
Czy rzeczywiście zdajesz sobie sprawę, że żadna z wartości, które przedstawiłeś, nie jest w rzeczywistości numeryczna, nieprawdaż? W rzeczywistości są to wszystkie struny. –
To prawda, nie zdawałem sobie z tego sprawy, zaniedbania dokonałem podczas przechowywania vales. Dzięki – NicolasZ