使用 marklogic Nodejs 阅读大型文档 API

Read the large document using marklogic Nodejs API

我正在尝试使用来自 MarkLogic 的 Node.js 阅读 xml/json 文档。我已经从以下 URL.

下载了 Node.js API 代码库

https://github.com/marklogic/node-client-api

它适用于 500KB 之类的小文档。但是我们的需求是阅读大文档,比如2MB或者10MB。

关于这个,我们有两种情况,如下所述:-

案例 1:- 每当我尝试使用 MarkLogic Node.js API 阅读文档时,我应该得到不止一个块,但我只有一个块作为响应。因此,由于这个原因,它不起作用。

var chunks = 0;
var length = 0;
db.documents.read("test.xml").stream('chunked').
  on('data', function(chunk) {
    console.log(chunk);
    console.log(chunk.length);
    chunks++;
    length += chunk.length;
  }).
  on('error', function(error) {
    console.log(JSON.stringify(error));
  }).
  on('end', function() {
    console.log('read '+chunks+' chunks of '+length+' length');
    console.log('done');
  });

案例 2:- 每当我尝试使用 "http-digest-client" 包读取一些大文档(如 2 MB 或 10 MB)时,它工作正常,我得到完整的 xml 作为响应。

var digest = require('http-digest-client')('<Username>', '<password>');
digest.request({
  host: '<Host server>',
  path: '/v1/documents?uri=test.xml',
  port: 8007,
  method: 'GET',
}, function (res) {
  reply(res);
});

我已经在下面提到的示例中用大文档对此进行了测试(请参阅下面 url),但我得到的响应与我在上面的案例 1 中描述的相同。

https://github.com/marklogic/node-client-api/blob/develop/examples/read-stream.js#L27

根据我的要求,我想使用 MarkLogic Node.js API(案例 1)阅读大文档。

  1. 如何使用 MarkLogic 阅读大型文档 Node.js API?
  2. 是否有增加池内存大小或任何其他内存大小的选项?
  3. 此问题与内存大小有关吗?

感谢您提供代码示例。我能够重现这个问题。

请在以下地址提交针对 MarkLogic Node.js API 的问题:

https://github.com/marklogic/node-client-api/issues