У меня есть следующая структура Firebase:
{
"company1": {
"name": "Company One",
"invoices": {
"invoice1": {
"amount": 300,
"currency": "EUR",
"timestamp": 1572608088
},
"invoice2": {
"amount": 460,
"currency": "EUR",
"timestamp": 1572608088
}
}
}
}
То есть: у меня есть коллекция companies
. Есть документ для каждой компании. У каждой компании есть подколлекция invoices
.
Каждый счет имеет свойства amount
, currency
, timestamp
.
Существует ли эффективный способ получения суммы всех сумм? счетов компании без необходимость получить все соответствующие документы из пожарного магазина? Это был бы подход, который я придумал, который был бы довольно неэффективным:
this.afs.collection('companies').document('company1').collection('invoices', ref => ref.where('timestamp', '>', 1556710488).where('timestamp', '>', 1572953978))
Я не могу просто использовать облачную функцию для увеличения значения, поскольку запрошенный период времени неизвестен.