Я хочу запросить коллекцию документов по их географическим точкам, используя ограничивающую рамку, взятую с карты. У меня есть границы:
СЕВЕР: 50,730
ВОСТОК: -1.861
ЮГ: 50,700
ЗАПАД: -1.893
И это моя фактическая структура документа (основываясь на его значениях, я ожидаю, что он вернется):
document: {
d: {
coordinates: GeoPoint [50.72, -1.87]
}
}
Это то, что я пытаюсь, но не работает:
db
.collection('exploreMap')
.where('d.coordinates.latitude', '<=', NORTH)
.where('d.coordinates.latitude', '>=', SOUTH)
// .where('d.coordinates.longitude', '<=', EAST)
// .where('d.coordinates.longitude', '>=', WEST)
.limit(80)
.get()
Он просто возвращает пустой запрос, без ошибок. Я пробовал оба запроса EAST / WEST и NORTH / SOUTH, оба одинаковые результаты.
Я знаю, что не могу выполнить полный запрос коробки, поскольку Firestore не поддерживает .where () для нескольких полей, поэтому выполнение простого запроса широты или долготы было бы хорошо. После этого я могу вручную отфильтровать результаты.
Может кто-нибудь подсказать, пожалуйста, что я делаю не так?