1

結果セット全体をメモリにロードせずにクエリの結果をカウントするにはどうすればよいですか?

クエリによって返されたドキュメントをカウントする簡単な方法は次のとおりです。

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

しかし、これは結果セット全体をメモリにロードし、javascript で配列を「カウント」します。大量のデータがある場合、これを行いたくありません。おもう。

LiveDB(LiveDBだと思います)は1つのderbyjsドキュメントに対して多くのmongodbドキュメントを作成するため、基礎となるmongodbコレクションのカウントはかなり複雑です。

インターネットは 2013 年のこのGoogle グループ スレッドを指していますが、そこで説明されている解決策 (クエリ オプションに入れる$count: true)は、DerbyJS 0.6 と現在の mongodb では機能しないようです。 query.extraRef" undefined.

4

1 に答える 1

1

これは、Google グループのスレッドで説明されているように行われます。しかしquery.extraRef、今query.refExtraです。

例:

var q = model.query('mycollection', { $count: true, date: today });
q.refExtra('_page.docsOfToday');
q.fetch();
于 2015-03-16T16:51:45.973 に答える