mingo
Version:
MongoDB query language for in-memory objects
17 lines (16 loc) • 556 B
JavaScript
import { evalExpr } from "../../core/_internal";
import { isInteger } from "../../util";
import { errExpectInteger } from "../expression/_internal";
import { $push } from "./push";
const $firstN = (coll, expr, options) => {
const foe = options.failOnError;
const copts = options;
const m = coll.length;
const n = evalExpr(copts?.local?.groupId, expr.n, copts);
if (!isInteger(n) || n < 1)
return errExpectInteger(foe, "$firstN 'n'", { min: 1 });
return $push(m <= n ? coll : coll.slice(0, n), expr.input, options);
};
export {
$firstN
};