Tag: xquery

MarkLogic 8 – XQuery高效地将大型结果集写入文件

更新:请参阅MarkLogic 8 – 将大型结果集stream到文件 – JavaScript – Node.js客户端API,以获得有关如何在Javascript中执行此操作的答案。 这个问题是专门询问XQuery的。 我有一个Web应用程序,它使用node.js中托pipe的其余服务。 Node简单地将请求代理到XQuery,然后查询MarkLogic。 这些查询已经具有分页设置,并在正常情况下正常工作,以返回一个页面的数据到用户界面。 我需要有一个导出function,当我把一个URL的参数export=all在请求中时,它不再查找一个页面。 在这一点上它应该得到整个结果集,即使它是一百万条logging,并将其保存到一个文件。 实际的请求需要立即返回,说:“当你的下载准备就绪时,我们会通知你。 一个build议是使用xdmp:spawn在后台调用XQuery,将结果保存到文件中。 然后,我的实际的HTTP请求可以立即返回。 对于产卵片,我认为这个想法是,我运行我的查询不同的选项,以获得所有的结果,而不是一页。 然后我将循环访问数据并创build一个stringvariables来调用xdmp:save with。 有些问题,这是一个好主意吗? 有没有更好的办法? 如果我遍历结果集,它确实发生非常大(千兆字节),它可能会导致内存问题。 有没有办法直接将结果stream到XQuery中的文件? 注意:我的另一个想法是拦截代理(节点)层的请求,然后做一个xdmp:估计来获取logging计数,然后循环查询每个页面并将其刷新到磁盘。 在这种情况下,我需要find一些方法来立即返回我的请求,但在后台处理似乎有一些想法在这里: http : //www.pubnub.com/blog/node-background-jobs-async-处理换asynchronous语言/

MarkLogic 8 – node.js API – 将XML转换为JSON

我正在学习MarkLogic的Javascript API。 我做了一个查询: cts.search( cts.andQuery( [cts.wordQuery("abc"), cts.collectionQuery(["Strings"])] ) ); 并获得XML。 我知道如何在XQuery中将这个XML转换为JSON,但是如何在Node中执行? 我似乎无法在文档中find它。

在XQueryexpression式中使用外部variables

我正在使用BaseX数据库服务器与Node.js应用程序。 该应用程序允许用户在由分隔符分隔的文本字段中input多个string。 然后这些多个string被查询到XML文件以search具有相同值的节点。 我不知道如何在XQuery中包含外部variablessplitstring 。 这是我的代码: exports.search = function(req, res){ var string = req.body.searchBox; string = string.toLowerCase(); var splitstring = string.split(' '); //console.log(splitstring); var basex = require('basex'); var log = require("../node_modules/basex/debug"); // create session var session = new basex.Session(); basex.debug_mode = false; // create query instance var inputquery = 'for $node in doc("./tags.xml")/images/image return $node/source'; […]