Javascript 在mongoDB中存储库的技术';s system.js
mongoDB中是否有可靠的技术来存储基于原型的库/框架?我在尝试在map reduce中使用格式时遇到了这个问题。JIRA解释说,对象的闭包(包括它们的原型)在序列化到system.js集合时丢失,这是预期的行为。不幸的是,这排除了许多优秀的框架,例如,和Javascript 在mongoDB中存储库的技术';s system.js,javascript,mongodb,mapreduce,google-closure-library,Javascript,Mongodb,Mapreduce,Google Closure Library,mongoDB中是否有可靠的技术来存储基于原型的库/框架?我在尝试在map reduce中使用格式时遇到了这个问题。JIRA解释说,对象的闭包(包括它们的原型)在序列化到system.js集合时丢失,这是预期的行为。不幸的是,这排除了许多优秀的框架,例如,和 有没有一种方法可以转换或包含库,使它们不依赖于原型?在Map Reduce之前初始化并通过scope对象传递它们是有希望的,但是到目前为止我还没有太多的运气。如果我的方法有缺陷,那么有什么更好的方法可以让mongo重复使用服务器端javas
有没有一种方法可以转换或包含库,使它们不依赖于原型?在Map Reduce之前初始化并通过scope对象传递它们是有希望的,但是到目前为止我还没有太多的运气。如果我的方法有缺陷,那么有什么更好的方法可以让mongo重复使用服务器端javascript 每一个使用JS的查询都可能重用或获得一个全新的JS上下文,其中加载了存储的JS对象。 为了做你想做的事,你需要:
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()函数中调用它
创建票证以标准化引擎并允许自动运行: