2

$ nearsphereクエリが常に100件の結果を返すのはなぜですか?

 db.mytable.find({"geo":{"$nearSphere":[41.393552,2.171344999999974],"$maxDistance":0.007}}).limit(500).count() -->>> 100 results

$ maxdistanceの値に関係なく、私のテーブルには30.000を超えるレコードがあります。

4

2 に答える 2

2

これを確認してください:https ://jira.mongodb.org/browse/SERVER-739

于 2012-10-10T10:37:48.783 に答える
0

非同期コードが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();
            }

          }


  });


});
于 2017-02-16T11:09:55.213 に答える