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