在 DerbyJS 0.6 中无需加载整个集合即可获取文档数
Get count of documents without loading the whole collection in DerbyJS 0.6
如何在不将整个结果集加载到内存的情况下统计查询结果?
对查询返回的文档进行计数的简单方法是:
var q = model.query('mycollection', { date: today });
q.fetch(function() {
var length = q.get().length;
});
但这会将整个结果集加载到内存中,并且 "count" 是 javascript 中的一个数组。当您有大量数据时,您不想这样做。我觉得。
计算底层 mongodb 集合是相当复杂的,因为 LiveDB(我认为是 LiveDB)为一个 derbyjs 文档创建了许多 mongodb 文档。
互联网从 2013 年开始指向这个 google groups thread,但是那里描述的解决方案 (将 $count: true
放入查询选项) 似乎没有在 DerbyJS 0.6 和当前 mongodb 中工作。”。
query.extraRef
是 undefined
.
它是按照 google 组线程中描述的那样完成的。但是 query.extraRef
现在是 query.refExtra
.
示例:
var q = model.query('mycollection', { $count: true, date: today });
q.refExtra('_page.docsOfToday');
q.fetch();
如何在不将整个结果集加载到内存的情况下统计查询结果?
对查询返回的文档进行计数的简单方法是:
var q = model.query('mycollection', { date: today });
q.fetch(function() {
var length = q.get().length;
});
但这会将整个结果集加载到内存中,并且 "count" 是 javascript 中的一个数组。当您有大量数据时,您不想这样做。我觉得。
计算底层 mongodb 集合是相当复杂的,因为 LiveDB(我认为是 LiveDB)为一个 derbyjs 文档创建了许多 mongodb 文档。
互联网从 2013 年开始指向这个 google groups thread,但是那里描述的解决方案 (将 $count: true
放入查询选项) 似乎没有在 DerbyJS 0.6 和当前 mongodb 中工作。”。
query.extraRef
是 undefined
.
它是按照 google 组线程中描述的那样完成的。但是 query.extraRef
现在是 query.refExtra
.
示例:
var q = model.query('mycollection', { $count: true, date: today });
q.refExtra('_page.docsOfToday');
q.fetch();