Firestore - Как получить сообщения, которые нравятся пользователям, используя 3 корневых коллекции? - PullRequest
0 голосов
/ 28 января 2019

Я пытаюсь получить понравившиеся пользователю сообщения, используя 3 корневых коллекции: users, posts, likes.

Я структурировал свою базу данных следующим образом:

users
 userId
  someData

posts
 postId
  someData
 postId
  someData
 postId
  someData

likes
 postId_userId
  someData
 postId_userId
  someData

Таким образом, в основном это коллекция пользователей, коллекция постов и коллекция лайков среднего человека с составным ключом в качестве идентификатора.

Я не могу писать лайки в посте или пользовательском документепотому что он может иметь 100 или 10000 лайков, поэтому не масштабируется.

Я думаю, что этот метод слишком медленный, потому что мне приходится извлекать посты, а затем для каждого поста я проверяю, существуют ли отношения между пользователем и постом влюбит коллекцию.Итак, у меня есть отфильтрованный массив объектов.

Но это стоит мне много чтения ... и кажется грязным.

Есть ли более эффективный способ сделать что-то подобное?

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