mingo
Version:
MongoDB query language for in-memory objects
19 lines (18 loc) • 552 B
JavaScript
import { computeValue } from "../../../core/_internal";
import { isArray, isNil } from "../../../util";
import { errExpectArray } from "../_internal";
const $log = (obj, expr, options) => {
const args = computeValue(obj, expr, null, options);
if (isArray(args) && args.length == 2) {
if (args.some(isNil)) return null;
if (args.every((v) => typeof v === "number"))
return Math.log10(args[0]) / Math.log10(args[1]);
}
return errExpectArray(options.failOnError, "$log", {
size: 2,
type: "number"
});
};
export {
$log
};