还有其他方法可以从除db.eval()
以外的node.js调用存储在MongoDB中的JavaScript函数吗?
尝试db.eval()
,因为它降低了我的服务器性能,我必须使用其他一些方法来调用JavaScript函数
答案 0 :(得分:0)
尝试包含jQuery并将jQuery.getScript
效果与eval()
答案 1 :(得分:0)
使用新函数避免使用eval();
var mydbfunction=new Function('here the function string');
mydbfunction();
直接执行该功能
(new Function('here the function string'))()
答案 2 :(得分:0)
逻辑上的答案是否定的,如果您希望从MongoDB中进行评估,则不是。这是由于在MongoDB的JavaScript引擎实现中实际扩展和操作eval
的方式。
相反,你应该避免eval
。很可能您已经使用这些存储的JavaScript函数编写应用程序,就好像它们是存储过程一样。事实并非如此,它们不是存储过程,如果可能的话,绝对不应该使用应用程序端。
据说存储JavaScript对使用公共代码的Map Reduce非常有用。您只需将已保存的代码包含在system.js
集合中,然后将其作为一个好的工作。