Прослушивание Firebase для изменений коллекции - затраты - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть коллекция, содержащая около 1000 документов.У меня есть настройки прослушивателя для этой коллекции, чтобы искать изменения.Этот слушатель очень похож на этот: https://firebase.google.com/docs/firestore/query-data/listen#listen_to_multiple_documents_in_a_collection

db.collection("cities").where("state", "==", "CA")
    .onSnapshot(function(querySnapshot) {
        var cities = [];
        querySnapshot.forEach(function(doc) {
            cities.push(doc.data().name);
        });
        console.log("Current cities in CA: ", cities.join(", "));
    });

Однако есть также этот пример кода, который прослушивает изменения между снимками: https://firebase.google.com/docs/firestore/query-data/listen#view_changes_between_snapshots

db.collection("cities").where("state", "==", "CA")
    .onSnapshot(function(snapshot) {
        snapshot.docChanges().forEach(function(change) {
            if (change.type === "added") {
                console.log("New city: ", change.doc.data());
            }
            if (change.type === "modified") {
                console.log("Modified city: ", change.doc.data());
            }
            if (change.type === "removed") {
                console.log("Removed city: ", change.doc.data());
            }
        });
    });

Мой вопросЕсть ли какая-то разница между этими двумя реализациями, когда речь идет о данных, передаваемых по проводам.В моем примере у меня есть 1000 документов в коллекции.После получения исходного документа 1000, если один документ изменяется, то сколько данных отправляется по сети для каждой из этих реализаций?1 документ?Или 1000?

Обычно я бы проверял вкладку Chrome Developer Tools Network для просмотра полезной нагрузки.Если кто-нибудь знает, как найти эквивалентную информацию для этих потоковых данных, это тоже было бы здорово.

1 Ответ

1 голос
/ 20 сентября 2019

Cloud Firestore эффективно отправляет изменения по сети, и локальный клиент создает снимки, содержащие обновленное состояние мира.В вашем примере изменение одного документа приведет к тому, что один документ будет отправлен по проводной сети, и вы будете платить за одно чтение документа (очевидно, для каждого подключенного клиента).

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