問題タブ [2dsphere]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mongodb - Mongodb 複合 2dsphere インデックスが期待どおりに機能しない
次のような約20000のドキュメントを含むsearch2というコレクションがあります。
次のコマンドでインデックスを定義します。
コレクションには、このインデックスと「_id」フィールドのデフォルト インデックスのみがあります。
次のクエリを実行すると、「nscannedObjects」が = 10 になると予想されます。
しかし、これは結果です:
クエリから並べ替えを削除すると、次のようになります。
では、なぜインデックスを使用して結果を並べ替えないのでしょうか? このドキュメントから : http://docs.mongodb.org/manual/applications/geospatial-indexes/ http://docs.mongodb.org/manual/tutorial/sort-results-with-indexes/ 2dsphere インデックス フィールドのプレフィックスまたはサフィックスとしてスカラー インデックス フィールド (つまり、昇順または降順) を持つ複合インデックス" および "並べ替えドキュメントが複合インデックスのサブセットであり、インデックスの先頭から開始する場合、MongoDB は使用できますクエリ結果の取得と並べ替えの両方に使用するインデックス。"
私は何が欠けていますか?
前もって感謝します
mongodb - MongoError: 特別なインデックスが見つかりません: 2d (インデックスが必要)、2dsphere (インデックスが必要)
MongoDB の find メソッドを使用して、特定の地点周辺の緯度と経度のポイントを照会することにより、MongoDB の地理空間インデックスを使用しようとしています。エラーが発生し続けます:
MongoError: 特別なインデックスが見つかりません: 2d (インデックスが必要)、2dsphere (インデックスが必要)
約1時間グーグルした後、これに関するドキュメントがどこにあるのかわかりません。また、適切な説明が見つかりません。Mongoose を使用して作成したスキーマは次のとおりです。
次に、findメソッドを使用して、ユーザーが指定したポイント周辺の他のイベントドキュメントを検索します。
ここで間違っている構文は何ですか? 私は何か大きなものを見逃していますか?このリンクの他に、ドキュメントへの URL も同様に優れています。
node.js - マルチポリゴンで 3000 GeoJSON の mongoDB を照会する最速の方法
私は次のものを持っています:
- Node.js 0.10 および MongoDB 2.4 を使用する openshift カードリッジ
- 5000 個の GeoJSON ファイル、それぞれに 1 つのマルチポリゴンが含まれています
ユーザーがポイントの座標を送信し、このポイントがマルチポリゴンの内部 (含まれている) であるすべての GeoJSON ファイルのリストを取得するアプリを構築しようとしています。
このクエリを処理する最速/最も効率的な方法は何ですか? mongoDB を使用していない場合でも、一般的なアイデア/入力を歓迎します。
ありがとう !
Ps: ポイントとマルチポリゴンを交差させるには、openshift が mongoDB 2.6 にアップグレードするまで待つ必要があるかもしれません。