繁体   English   中英

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

[英]XQuery sequence equivalent in MarkLogic Server-Side JavaScript

我从一些XQuery改编了下面的代码。 但是,当我运行它时,它仅将文档插入到集合B ,而不像等效的XQuery那样将集合A B插入到集合A B中。

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

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

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

注意['A', 'B']上的方括号。 从XQuery复制粘贴到JavaScript时需要注意这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM