Что я должен хранить в Firestore, чтобы я мог получать данные на основе деталей, полученных из API места автозаполнения?

Я получаю информацию от пользователя, чтобы получить информацию о месте, используя автозаполнение place api, предлагаемое Google.

Теперь я хочу получить каждый документ из Firestore, который принадлежит этому месту. Итак, чтобы сделать это, какой подход я должен следовать? Что я должен хранить в документах, чтобы я мог легко найти это.

Мой подход

   myShopsCollection
           shopDoc1
              city:"xyz"
              arrayId:[placeId1,PlaceId2,PlaceId3]
           shopDoc2
                  ....

Теперь я получаю placeId PID из API автозаполнения. мой запрос стал таким

db.collection(myShopsCollection').where('arrayId','array-contains',PID)

что ты уже испробовал?

Alex Mamo 22.01.2019 12:58

Я думал, что должен хранить идентификаторы мест в массиве в каждом документе, затем получать идентификатор места из API места и получать документы, если массив содержит этот идентификатор места.

user7411343 22.01.2019 13:01

Но проблема в том, что одно место может иметь несколько идентификаторов мест.

user7411343 22.01.2019 13:02

Можете ли вы набросать то, что вы имеете в виду?

Alex Mamo 22.01.2019 13:04

@ AlexMamo Я обновил свой вопрос, пожалуйста, проверьте его

user7411343 22.01.2019 13:20

Вы должны хранить местоположение по широте и долготе в типе данных GeoPoint и фильтровать данные на основе расстояния.

Ishant 22.01.2019 13:27

Ваш подход кажется мне осуществимым. В чем проблема?

Alex Mamo 22.01.2019 13:29

Проблема @alexaMamo в том, что одно место может иметь несколько placeId. Поэтому, если placeId, полученный из API автозаполнения, может отличаться от того, что я сохранил в shopDoc для того же места.

user7411343 22.01.2019 13:51

@Ishant Если вы ищете что-то в большой области, например, во всем Дели, а в магазине ShopDoc хранится Geopoint для их местоположения (принадлежит Дели), то как вы рассчитываете расстояние?

user7411343 22.01.2019 13:58

Геозапросы еще не реализованы в Firestore изначально, но некоторые разработчики внедрили поверх них свои собственные «близлежащие запросы». Смотрите stackoverflow.com/questions/46630507/…, мое видео здесь: youtube.com/watch?v=mx1mMdHBi5Q и это краткое руководство: angularfirebase.com/lessons/…

Frank van Puffelen 22.01.2019 15:41
0
10
75
0

Другие вопросы по теме