在mongo聚合

时间:2017-12-20 00:54:11

标签: javascript mongodb function

我试图在mongodb文档中存储(和使用)一个函数,我发现像这样插入:

db.products.insert({
    name: "Some name",
    priceAlgorithm: function () {
        return 1 + 2;
    }
})

结果如下:

{
    name: "Some name",
    priceAlgorithm: {
        code: "function () { return 1 + 2; }"
    }
}

我发现priceAlgorithm是JS函数的BSON表示。但我似乎无法找到运行该功能的正确方法。

在聚合阶段运行它将是最佳的,因为我可能$sort$match基于该值。但如果不可能,我可以将其作为标准运行JS函数,但肯定希望避免使用eval

我也确实发现在system集合中存储过程是可能的(尽管我认为已弃用)。但我不认为这对我有用,因为每个文档都有一个完全不同的算法。

0 个答案:

没有答案