mongoDB's system.js中的库存储技术
techniques for storing libraries in mongoDB's system.js
在mongoDB的system.js中存储基于原型的库/框架是否有任何可靠的技术?我在尝试在map-reduce中使用dateJS格式时遇到了这个问题。JIRA #SERVER-770解释说,对象的闭包——包括它们的原型——在序列化到system.js集合时会丢失,这是预期的行为。不幸的是,这排除了很多很棒的框架,比如dojo、Google Closure和jQuery。
是否有一种方法以某种方式转换或包含库,使它们不依赖于原型?有一些承诺可以在Map-Reduce之前进行初始化,并通过作用域对象传递它们,但到目前为止我还没有多少运气。如果我的方法是有缺陷的,什么是更好的方法来启用服务器端javascript重用mongo?
使用JS的每个查询都可以重用或获得一个全新的JS上下文,在该上下文中加载存储的JS对象。为了做你想做的,你需要:
- mongod在安装时自动运行存储的代码
- mapreduce有init方法
第一个无疑是更有趣的特性。事实证明,mongodb v8构建自动做到了(但没有官方支持),但不是官方的spidermonkey构建。
假设您将代码存储为:
db.system.js.save({ _id: "mylib", value: "myprint = function() { print('installed'); return 'installed';" }
那么在v8中你可以在代码中自由地使用myprint(),但是在SM中你需要显式地调用mylib()。
作为一种解决方法,您可以创建另一个方法:db.system.js.save({ _id: "installLib", value: "if (!libLoaded) mylib(); libLoaded = true;" }
从map()函数中调用。
创建票证以使引擎标准化并允许自动运行:https://jira.mongodb.org/browse/server - 4450
相关文章:
- 将作用域存储在JSON中
- 使用javascript存储变量的最安全方式
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- 如何有效地将游戏数据存储在URL查询字符串中
- Ember.js-接口状态应该存储在哪里
- 如何解雇“;铁局部存储负载”;事件
- 本地存储中的字符串到字节数组转换
- 从jQuery调用存储在Variable中的函数
- 推荐在JavaScript中执行存储为字符串的函数,而不是使用eval
- 通过另一个php应用程序将我的项目推送到Github存储库中
- 将数据存储在javascript数组中以供进一步使用
- 在页面卸载时写入HTML5 FileSystem API存储
- 加载存储在IndexedDB中的HTML页面
- 在字符串中查找所有图像 src URL 并存储在数组中
- 如何从C#代码背后调用本地存储的javascript函数
- 在ListView中添加JSON数组中存储的图像-ReactNative
- 将数据存储到元素中
- mongoDB's system.js中的库存储技术
- 在Node.js中,实时游戏可以使用哪些存储技术?