0

私はnodejsでロケーションベースのアプリに取り組んでいます。私が使用している
-mongodb
v2.4.4-ネイティブnodejs mongodbドライバー( https://github.com/mongodb/node-mongodb-native )
-nodejsバージョン0.10.0

1 つのコレクションのすべてのドキュメントに地理空間インデックス (2dsphere) があります。フィールドは次のようになります。

{ "loc" : { "type" : "Point", "coordinates" : [  -122.5418261,  38.0047656 ] } }

コレクションの名前は「Venue」

特定のポイントへの近さに基づいてデータをクエリするには、次のコードを使用しています。

var query = {
            geoNear:"Venue",
            near : { type : "Point" ,
                coordinates: [ searchParams.longitude, searchParams.latitude ] } ,
            spherical : true,
            limit: 10000,
            maxDistance : searchParams.radius
        };


mongodbconnection.command(query, function(error, data){

});

地理空間クエリは正常に機能しています。しかし、skip() や limit() などのカーソル オブジェクト メソッドを使用して、結果をさらにフィルター処理したいと考えています。ただし、コールバックで返されるデータ オブジェクトはカーソルではありません。では、skip() と limit() をどのように使用すればよいでしょうか?

4

2 に答える 2

0
    center = [-122, 37];
    radius = 80;
    var query = {"loc" : {"$within" : {"$center" : [center, radius]}}};


    collection.find(query).skip(2000).toArray(function(err,data){


        console.log(data.length);

    });

礼儀: MongoDB 地理空間クエリ数の問題 (常に 100)

于 2013-08-31T10:28:16.093 に答える