为什么 $nearsphere 查询总是返回 100 个结果?
db.mytable.find({"geo":{"$nearSphere":[41.393552,2.171344999999974],"$maxDistance":0.007}}).limit(500).count() -->>> 100 results
无论 $maxdistance 的值如何,我的表都有超过 30.000 条记录。
我认为异步代码正在命中 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();
}
}
});
});