$ nearsphereクエリが常に100件の結果を返すのはなぜですか?
db.mytable.find({"geo":{"$nearSphere":[41.393552,2.171344999999974],"$maxDistance":0.007}}).limit(500).count() -->>> 100 results
$ maxdistanceの値に関係なく、私のテーブルには30.000を超えるレコードがあります。
これを確認してください:https ://jira.mongodb.org/browse/SERVER-739
非同期コードがdb.close()にヒットしていると思います。.eachループが終了する前に、何らかの理由で全員が100の結果しか得られないため、回避策を次に示します。
var url = 'mongodb://localhost:27017/mydb';
MongoClient.connect(url, function(err, db) {
var i=0;
var collection = db.collection('documents');
collection.find().each(function(err, docs) {
if (docs != null){
console.log(docs);
console.log(i);
i++;
if( i >= docs.length ){
db.close();
}
}
});
});