У меня есть список продуктов, каждый пользователь может купить несколько билетов на продукт. Когда я получаю продукт, мне нужно знать, сколько билетов купил пользователь для каждого продукта. В настоящее время у меня есть продукт как отдельная коллекция, и я получаю список билетов по продуктам для текущего зарегистрированного пользователя. Это отлично сработало, но я использовал оператор in
, чтобы сделать один запрос для получения билетов в одном запросе для нескольких продуктов, а Firestore допускает только 10 элементов в операторе in
Я рассмотреть возможность хранения количества билетов на каждом продукте в виде карты. Как это влияет на производительность snapshotListener? Допустим, я слушаю 100 продуктов, и у каждого есть карта со 100 тыс. Ключей и значений, где ключ - это строка, а значение - Int.
Легко ли обновить карту, могу ли я сделать приращение на значение указанного поля c?
Безопасность не является проблемой, можно иметь счетчик билетов для всех пользователей publi c
Product {
name: String
....
tickets: {
"USERID": 5,
// 100k more records
}
}