gpt4 book ai didi

java - 通过Java加载任意javascript到Mongodb中,稍后调用

转载 作者:行者123 更新时间:2023-11-29 09:18:18 25 4
gpt4 key购买 nike

直接嵌入函数很简单,

MapReduceOutput out = coll.mapReduce("function() { ... }", 
"function( year, values ) { ... }",
null, MapReduceCommand.OutputType.INLINE, null);

但是如果我有这样一个 .js 文件

func = function(i) { ... }

m = function() { ...
func (7);
... }

r = function( year, values ) { ...
func (3);
... }

有没有办法做类似的事情

coll.LoadSomethingSomeHow(script);

MapReduceOutput out = coll.mapReduce("m", "r",
null, MapReduceCommand.OutputType.INLINE, null);

其中script是从js文件加载的字符串?这将使事情变得更加灵活,并允许更清晰的 map 减少。

最佳答案

我经历了一次 similar issue - 但是在您的情况下,您可能会考虑在对象/ namespace 内对函数进行分组:

db.system.js.save({_id: 'mr', value: {func: function(i){…}, m: function(){…}, r: function(){…}}});

然后您可以将这些函数称为 mr.funcmr.mmr.r。然而,这只是一种组织上的便利——@Umut 正确地指向 db.system.js。如果你的库依赖于 prototype,你可以编写一个初始化例程来引导它——但是这可能会很昂贵,因为闭包上下文可能会在 map/reduce 的迭代中丢失,需要重复初始化。

关于java - 通过Java加载任意javascript到Mongodb中,稍后调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8085060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com