我有一个使用MarkLogic node.js的查询,基本上归结为这样的事情:
db.documents.query(qb.where(qb.collection('test'))).stream()
.on('data', function(row) {
console.log("Stream on data");
})
.on('end', function() {
console.log("Stream on end");
})
.on('error', function(error) {
console.log(error);
})
;
现在,对于我们在数据库中的某个集合,'结束'功能不起作用,即我从未看到"流结束"出现在日志中。没有错误或任何事情,处理只是停止。它只适用于这个特定的系列,其他系列看起来很好。
如果我使用qb.value()之类的其他方法直接查询该集合中的文档而不使用qb.collection(),则会正确触发结束事件。但是一旦我将qb.collection()添加到混合中(使用qb.and),结束事件就不会被激活。
我不确定如何调试它,因为这是我第一次尝试在nodejs客户端库中使用流。关于我可以检查什么的任何建议?
谢谢!