对于在 Java 项目中的何处以及如何编写和存储 javascript map/reduce 函数以便与 MongoDB 数据库一起使用,有人有任何建议或知道任何最佳实践吗?
我正在寻找的标准是:
在编写和编辑函数时,我希望受益于 IDE 提供的语法突出显示和错误检查(我使用的是 Eclipse)。
如果可能的话,我不想在完成编辑后将函数复制到其他位置。
我宁愿将函数存储在源代码中而不是数据库本身,以便于参考、版本控制等。
任何关于如何解决这个问题的例子都会很棒。
编辑:我不确定我是否正确解释了自己,所以这是另一种方式:
我不是在问基本的资源管理。如果可能的话,我所追求的是一个工作环境,让我能够在“就地”编辑函数的同时享受 IDE 的优势。如果我遗漏了一些非常明显的东西,请原谅我。
我想要避免的是您可能会在 SQL 中看到的情况,例如当它作为字符串存储在类文件中时:
private static final String MAP_FUNC =
"function() { " +
" emit(this.id, {total : this.total}); " +
"};";
或者在 java 属性文件中:
map.func=function() {
\ emit(this.id, {total : this.total});
\ };
您必须在其中输入大量无关的字符,例如“s和\s。您必须将其写在其他地方,然后复制并粘贴它并添加这些字符(或者您可能有一个可以为您完成此操作的工具 -你仍然必须这样做)。
由于在 .js 文件中编写 javascript 时,它会被 Eclipse 验证,因此我不想执行任何此操作。我希望将函数存储在 .js 文件中,以便在需要时可以通过 map/reduce 调用轻松使用它们。
有人这样做或类似吗?我最初的想法只是为每个函数创建一个 .js 文件,但是一个只有匿名函数的 .js 文件在 eclipse 中验证失败,这使得它毫无意义 - 你必须将它分配给一个 var - 这意味着它的格式不适合 Map/Reduce 的使用。我想我可以创建仅包含函数内容的文件吗?但这一切听起来有点混乱,我希望其他人可能也遇到过这个问题,并有一个简洁的解决方案。