如何在不将整个结果集加载到内存的情况下计算查询的结果?
计算查询返回的文档的简单方法是:
var q = model.query('mycollection', { date: today });
q.fetch(function() {
var length = q.get().length;
});但这将将整个结果集加载到内存中,并在javascript中“计数”数组。当你有很多数据时,你就不想这么做了。我认为。
计算底层mongodb集合相当复杂,因为LiveDB (我认为是LiveDB)为一个derbyjs文档创建了许多mongodb文档。
互联网指向了2013年的google组线程,但是这里描述的解决方案(将$count: true放入查询选项中)在DerbyJS 0.6和当前的mongodb中似乎不起作用。“. query.extraRef是undefined。
发布于 2015-03-16 16:51:45
这样做就像在google线程中描述的那样。但query.extraRef现在是query.refExtra。
示例:
var q = model.query('mycollection', { $count: true, date: today });
q.refExtra('_page.docsOfToday');
q.fetch();https://stackoverflow.com/questions/29081779
复制相似问题