contexture-mongo
Version:
Mongo Provider for Contexture
21 lines (20 loc) • 558 B
JavaScript
import _ from "lodash/fp.js";
let statsAgg = (valueField, keyField) => ({
$group: {
_id: keyField ? `$${keyField}` : {},
count: { $sum: 1 },
max: { $max: `$${valueField}` },
min: { $min: `$${valueField}` },
avg: { $avg: `$${valueField}` },
sum: { $sum: `$${valueField}` }
}
});
let defaults = { count: 0, avg: 0, max: 0, min: 0, sum: 0 };
var statistical_default = {
statsAgg,
result: async ({ field }, search) => _.head(await search([statsAgg(field)])) || defaults
};
export {
statistical_default as default,
statsAgg
};