0

除了从 node.js 调用存储在 MongoDB 中的 JavaScript 函数还有其他方法db.eval()吗?

尝试过db.eval()因为它降低了我的服务器性能,我不得不使用其他一些方法来调用 JavaScript 函数

4

3 回答 3

0

使用新函数可以避免 eval();

var mydbfunction=new Function('here the function string');
mydbfunction();

this 直接执行函数

(new Function('here the function string'))()
于 2013-06-07T06:38:47.933 回答
0

尝试包括 jQuery 并将jQuery.getScript性能与eval()

于 2013-06-07T06:28:58.960 回答
0

合乎逻辑的答案是否定的,如果您希望从 MongoDB 内部进行评估,则不会。这是由于eval在 MongoDB 中的 JavaScript 引擎实现中实际扩展和操作的方式。

相反,您应该避免eval. 很可能您已经以利用这些存储的 JavaScript 函数的方式对应用程序进行了编码,就好像它们是存储过程一样。事实并非如此,它们不是存储过程,如果可能的话,绝对不应该在应用程序端使用。

话虽如此,存储 JavaScript 对于使用通用代码的 Map Reduces 非常有用。您可以只将保存的代码包含在system.js集合中,然后好好工作。

于 2013-06-07T07:49:29.023 回答