問題タブ [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.

0 投票する
1 に答える
890 参照

mongodb - mongodb $geoIntersects または $geoWithin ポイントは複数のポリゴンに一致します - エリアでソートしますか?

ポイントがポリゴン内にあるかどうかを確認するmongoクエリがあります。

現在、私のポリゴンはすべて単一のレベル、近隣であり、重なっているものはありません。

市、郡、および国のデータを同じコレクションに保存したいと考えています。明らかに、findOne を find に変更してコードを適切に変更できますが、特に、結果が [ "Downtown", "San Francisco", "California", "米国"、"北米"]

そこから素敵な文字列を構築するのは簡単なことです。

マルチレベルのポリゴンをまだセットアップしていないので、テストしていません。

$near 演算子がオブジェクトに最も近いポイントを返し、並べ替えることができることは知っていますが、ドキュメントを読んで、テスト ポイントが polgyon 内にあるため、並べ替え順序が未定義であると仮定し、私も実行します近くのポリゴンも取得するリスクがあるため、2 番目のジオインターセクトでチェックして、ポリゴンの中にいないことを確認する必要があります。

0 投票する
0 に答える
124 参照

node.js - Mongoose/MongoDB 地理空間インデックスが機能しない

MongoDD を初めて使用します。私は自分が間違っていることを理解しようとして、何時間もインターネットをくまなく調べてきました。MongoDB は、地理クエリを実行した後、インデックスが存在しないと言っています。

エラーを含めました。何か案は?

スキーマ

ドキュメント

エラー

0 投票する
0 に答える
776 参照

mongodb - ジオキーを抽出できません

mongodb で 2dsphere インデックスを作成しようとしましたが、エラーが発生しました

「地理キーを抽出できません: { _id: ObjectId('57963b5365ba4df2c13a4965'), loc: { 座標: [ -180.0, 65.33018130000001 ], タイプ: \"Point\" } } 経度/緯度が範囲外です, lng: -緯度 180: 65.3302"

なぜそれが起こっているのですか?

0 投票する
1 に答える
384 参照

mongodb - MongoDBで地理空間インデックスと型インデックスを一緒に作成しますか?

このコマンドを使用して、異なるインデックス タイプ (2dsphere とテキスト) の 2 つのインデックスを使用したい:

しかし、次のエラーが表示されます。

"errmsg": "不適切なインデックス キー パターン { @geolocationable: \"2dsphere\", name: \"text\" }: 1 つのインデックスに対して複数のインデックス プラグインを使用することはできません。"

MongoDB Text と 2D 複合インデックスを読み ましたが、1 つのコレクションで 2dsphere とテキスト インデックスを作成できない理由がわかりません。

別々のクエリで個別に使用するためにこのインデックスを作成したいのに、1 つのクエリで両方のインデックスを使用したいという意味ではありません。

0 投票する
1 に答える
919 参照

mongodb - Mongodb 地理空間インデックス、2d と 2dsphere

ドキュメントによると、2d インデックスについて次のように書かれています。

2d インデックスは、平らなユークリッド平面での計算をサポートします。2d インデックスは、球体での距離のみの計算もサポートしますが、球体での幾何学的計算 ($geoWithin など) の場合は、データを GeoJSON オブジェクトとして保存し、2dsphere インデックス タイプを使用します。

わからないことがいくつか..

  1. distance-only の意味がわかりません。コード (サーフェスの「内側」の線を介して 2 つのサーフェス ポイントを結ぶ線) を意味しますか?
  2. その計算は、地球の経度と緯度に対してどのように機能しますか? それがユークリッド空間用に設計されている場合、ラジアンで距離をどのように表現しますか?
  3. 代わりに、2dsphere インデックスを使用して、2 点間のサーフェス距離を正しく計算しますが、360 経線と 180 緯度線を指定しなくても機能します。地球の経度と緯度のために特別にプログラムされていますか?
  4. 3. 上記が正しい場合。地球が完全な球体ではなく扁球であることを考慮に入れていますか?
0 投票する
0 に答える
78 参照

mongodb - mongodb geo オブジェクトの挿入により多数のキーが生成されました

ログ ファイルに「地理オブジェクトの挿入により多数のキーが生成されました」というエントリが多数ありますが、これが実際にパフォーマンスやその他の事柄に影響を与えるかどうかはわかりません。私はその理由を認識しています.2dsphereインデックスが配列と組み合わされたかなり大きなテーブルを持っています. 例: 場所: 2dsphere 値: [文字列]

index{ '場所': '2dsphere', '値': 1}

「値」がさらにエントリを取得する場合、すべてのエントリを結合する必要があります。しかし、なぜこのログ エントリがあるのでしょうか。「大きな」インデックスを持つことは有害ですか? (..約99%の読み取り専用クエリ)この場合は?

ありがとうサイモン