0

私は現在、小さな文書のコレクションを持っています。各ドキュメントにはインデックス付きの地理空間フィールドがあり、*デフォルトの _id はどのクエリでも使用されません*。特定の地理的位置に関連するドキュメントが複数存在することはありません。デフォルトの _id をオーバーライドし、地理空間データを何らかの方法で使用することは理にかなっていると思います。

質問は、地理空間データを一意の ID としてどのように使用するのですか? 地理フィールドからフラット文字列を作成する場合ですか? 例 'x123456y123456'?

4

1 に答える 1

2

_idフィールドは、各ドキュメントの一意の識別子であるため、必須フィールドです。_idフィールドが提供されていない場合、ドキュメントの作成時に自動的に生成されます。ドキュメントの作成時にこの地理空間値を指定できる場合は、提案したとおりに文字列を使用できるはずですが、配列を_id値として使用することはできません。ただし、ドキュメントが作成されると、_idは変更できなくなることに注意してください。これは、地理空間データの意味のあるインデックスとして_idフィールドを使用することは、あまり価値がない可能性があることを意味します。

_idフィールドの詳細についてはこちらを、Mongoで地理空間インデックスを作成する方法についてはこちらをご覧ください。

于 2012-08-16T08:08:08.317 に答える