MarkLogic 服务器端 JavaScript 和 XQuery

MarkLogic server-side JavaScript and XQuery

我刚刚开始使用 NoSQL MarkLogic DB,并试图为我选择最好的查询语言以供将来学习和使用。 在服务器端,MarkLogic 提供了使用 JavaScript API 或 XQuery API.[=11 的可能性=]

我想收到建议。哪种语言更适合集中精力学习? JavaScript 还是 XQuery?

它不一定是二元 either/or 选择。您可以使用 JavaScript AND XQuery(和 XSLT)模块。

使用哪种语言在很大程度上取决于您自己的偏好,以及您主要使用的数据类型。两种语言各有利弊,但就 API 和功能而言,几乎 完全相同。

如果您已经JavaScript熟悉并精通,那么您可能会发现它更容易上手。

XQuery 如今并不广为人知或流行,因此很难找到已经精通的开发人员。熟悉语法并理解 a FLWOR 和序列是什么可能需要一段时间。

如果您有很多 XML 文档,那么 XQuery 和 XSLT 将是自然的选择。在我看来,在 JavaScript 中构建和操纵 XML 有点糟糕。

因为 JavaScript API 位于 V8 引擎之上,而 XQuery 是本机代码,所以存在一些性能差异。例如,从 JavaScript 调用 MarkLogic built-in 函数比在 XQuery 模块中调用要慢。

JavaScript 模块也有一些限制。比如有内存限制,没有xdmp:spawn-function() equivalent, and it doesn't have tail call optimization。因此,即使您的代码库大部分 JavaScript,您也可能会发现在某些情况下 XQuery 模块可能执行得更好,或者更容易完成特定任务。