MarkLogic 服务器端中等效的 XQuery 序列 JavaScript

XQuery sequence equivalent in MarkLogic Server-Side JavaScript

我从一些 XQuery 中改编了下面的代码。但是,当我 运行 它时,它只将文档插入集合 B,而不是集合 A B 作为等价物XQuery 可以。

declareUpdate();
xdmp.documentInsert(
  'mydoc.xml',
  fn.head(xdmp.unquote(`<mydoc/>`)),
  xdmp.defaultPermissions(),
  ('A', 'B')
);

问题是('A', 'B')。在 XQuery 中表示两个字符串的序列。在 JavaScript 中,这被解释为两个语句,returns 是最后一个语句的结果,在本例中是 'B'。因此语法是有效的——这就是没有错误的原因——但意图不同。通常,JavaScript 中 XQuery 序列的等价物是一个数组。因此上面的代码应该是

declareUpdate();
xdmp.documentInsert(
  'mydoc.xml',
  fn.head(xdmp.unquote(`<mydoc/>`)),
  xdmp.defaultPermissions(),
  ['A', 'B']
);

注意 ['A', 'B'] 上的方括号。从 XQuery 复制粘贴到 JavaScript.

时需要注意这一点