[英]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.