我试图在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
集合中存储过程是可能的(尽管我认为已弃用)。但我不认为这对我有用,因为每个文档都有一个完全不同的算法。