无需在DerbyJS 0.6中加载整个集合即可获取文档数

时间:2015-03-16 16:18:02

标签: derbyjs racerjs sharejs livedb

如何在不将整个结果集加载到内存中的情况下计算查询结果?

计算查询返回的文档的简单方法是:

var q = model.query('mycollection', { date: today });
q.fetch(function() {
    var length = q.get().length;
});

但是这会将整个结果集加载到内存中并在javascript中“计算”一个数组。当您有大量数据时,您不想这样做。我想。

计算底层的mongodb集合相当复杂,因为LiveDB(我认为它是LiveDB)为一个derbyjs文档创建了许多mongodb文档。

互联网从2013年开始指向此google groups thread,但其中描述的解决方案(将$count: true置于查询选项中)似乎无法在DerbyJS 0.6和目前的mongodb。“ query.extraRefundefined

1 个答案:

答案 0 :(得分:1)

这样做就像在google群组线程中所描述的那样。但query.extraRef现在是query.refExtra

示例:

var q = model.query('mycollection', { $count: true, date: today });
q.refExtra('_page.docsOfToday');
q.fetch();