Запрос свойства карты Firestore внутри документа - PullRequest
0 голосов
/ 24 декабря 2018

У меня есть коллекция (группы) с документами, которая имеет несколько свойств, одно из них (члены) является массивом Карт со следующей структурой:

members:[{"is_admin":true,"user":"users/someuserid"}]

Когда «члены» был массивомссылки (на документы пользователя) было легко найти все группы, членом которых является пользователь:

   db.collection("groups").whereField("members", arrayContains: db.document("users/"+UserDefaults.standard.string(forKey: "firebase_uid")!) ).getDocuments(){

Я пытаюсь добиться того же (получить все документы группы, членом которых является пользователь)но я не могу найти правильный способ запроса внутри свойства карты.

1 Ответ

0 голосов
/ 24 декабря 2018

В настоящее время вы не можете делать этот тип запроса с Firestore.Вы можете сопоставить только все содержимое некоторого объекта в массиве, но не конкретное поле в объекте в массиве.Если вы хотите сопоставить поле массива, содержащее ровно {"is_admin":true,"user":"users/someuserid"}, вы сможете это сделать.Вам нужно будет указать точные поля всех полей объекта для поиска.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...