Ι имеют db, где мои документы всего Points
. Я считаю, что добавить геопространственный индекс. Поэтому я могу выбрать 2dsphere и 2d.
У MongoDB.org есть:
Поддержка индексов 2dsphere:
- Calculations on a sphere
- Both GeoJSON objects and legacy coordinate pairs
- A compound index with scalar index fields (i.e. ascending or
descending) as a prefix or suffix of the 2dsphere index field
Поддержка 2-х индексов:
- Calculations using flat geometry
- Legacy coordinate pairs (i.e., geospatial points on a flat
coordinate system)
- A compound index with only one additional field, as a suffix of
the 2d index field
Однако, поскольку все мои документы являются точками, я могу либо иметь один из вариантов ниже в моей схеме без особых изменений.
для 2dsphere:
location : {
type : "Point" ,
coordinates : [10,45]
}
или для индекса 2d:
location : [10,45]
Мой вопрос сводится к тому, что быстрее? Я действительно не знаю, как его измерить.
Вопрос предполагает, что я хочу только запросить квадрат box
данных и не заботятся о сложных поисках полигонов: либо с $box, который поддерживается только по индексу 2d (если я правильно прочитал) или с помощью метода $polygon $geoWithi n, поддерживаемого оба индекса.