Я бы хотел повысить производительность своего счетчика, чтобы вы могли достоверно сообщать о количестве продуктов в моих коллекциях. Продукты могут быть введены или удалены. По этой причине я создал специальную переменную, которая уменьшается или увеличивается при удалении или вставке товара. Счетчик работает хорошо, но медленно. Как я могу сделать счетчик быстрее?
Код ниже - это функция, которая перехватывает создание продукта:
exports.createProduct = functions.firestore
.document('products/{id}')
.onCreate((snap, context) => {
var InfoProduct= db.collection('system').doc('info');
db.runTransaction(function(transaction) {
return transaction.get(InfoProduct).then(function(sfDoc) {
if (!sfDoc.exists) {
throw "Document does not exist!";
}
var newTotalProduct = sfDoc.data().totalProducts + 1;
transaction.update(InfoProduct, { totalProducts: newTotalProduct });
});
});
return true;
});