UNPKG

mingo

Version:

MongoDB query language for in-memory objects

21 lines (20 loc) 583 B
import { Aggregator } from "../../aggregator"; import { ComputeOptions, ProcessingMode } from "../../core/_internal"; const $facet = (collection, expr, options) => { if (!(options.processingMode & ProcessingMode.CLONE_INPUT)) { options = { ...ComputeOptions.init(options).options, processingMode: ProcessingMode.CLONE_INPUT }; } return collection.transform(((array) => { const o = {}; for (const [k, pipeline] of Object.entries(expr)) { o[k] = new Aggregator(pipeline, options).run(array); } return [o]; })); }; export { $facet };