3

400,000 を超えるドキュメントを含む場所のコレクションがあります。地理空間クエリを実行しようとしていますが、常にタイムアウトしているようです。MongoLab インターフェイスから検索を行います。

{ "location": {"$near": [ 38, -122 ] } }

そして、ページはちょうどタイムアウトします。

また、コンソールから次のコマンドを実行しました。

db.runCommand({geoNear: "places", near: [50,50], num:10})

成功しましたが、完了するまでに 5 分ほどかかりました。

私はその場所に地理空間インデックスを持っています。

location    { "location" : "2d"}

このような大きなコレクション (MongoDB コレクションとしては非常に小さい) に対して地理空間クエリを実行することは不可能なのでしょうか?

編集: MongoLab は、この問題について個人的に私に連絡しました。多くの場所がまだ座標を持っていないなど、私のデータベースにいくつかの問題があるようです。また、maxDistance を使用するとクエリが劇的に高速化されることがわかりました。これにより、今朝の質問に戻ります

4

1 に答える 1

3

Mongolabs の技術者は、多くの緯度経度を 0,0 に設定し、maxDistance を使用しないことが原因であると指摘しました。maxDistance を追加すると、魔法のように機能しました..

Mongolabs の担当者に感謝します。

于 2012-11-13T14:42:48.030 に答える