内部に727000のドキュメントと「一致」するコレクションがあります。内部には 6 つのフィールドがあり、配列はなく、単純な整数とオブジェクト ID だけです。次のようにコレクションへのクエリを実行しています。
matches.find({
$or: [{
homeTeamId: getObjectId(teamId)
}, {
awayTeamId: getObjectId(teamId)
}
],
season: season,
seasonDate: {
'$gt': dayMin,
'$lt': dayMax
}
}).sort({
seasonDate: 1
}).toArray(function (e, res) {
callback(res);
});
結果は、約 7 ~ 8 個のドキュメントのみを返します。クエリには約 100 ミリ秒かかりますが、これはかなり合理的だと思いますが、主な問題は、メソッド toArray() を呼び出すと、約 600 ミリ秒追加されることです!! ラップトップ、Intel Core I5、6 GB RAM でサーバーを実行していますが、7 ~ 8 ドキュメントで 600 ミリ秒かかるとは信じられません。mongodb-native ドライバーを使用してみましたが、今は mongoskin に切り替えましたが、同じ遅い結果が得られました。助言がありますか ?