У меня есть несколько сообщений в названии коллекции Firestore posts
.Каждый пост имеет коллекцию tags
.
posts : {
Id1: {
tags: {tag1: true, tag2: true}
},
Id2: {
tags: {tag12: true, tag21: true}
},
Id3: {
tags: {tag31: true, tag2: true}
},
...
}
. С этой структурой я могу фильтровать, чтобы получить пост с определенными тегами.
db.collection('posts').where('tags.tag2', '==', 'true').limit(10)
Однако, если я хочу фильтровать posts
для нескольких тегов у меня есть только эта идея:
x= db.collection('posts').where('tags.tag2', '==', 'true').limit(5)
y= db.collection('posts').where('tags.tag1', '==', 'true').limit(5)
page1 = x + y
Но как, если у меня есть больше тегов (10 тегов или больше).Как их объединить с ограничением для каждой страницы 10
и перейти на следующую страницу с оптимизированным алгоритмом.