Слушайте метаданные firestore - PullRequest
0 голосов
/ 24 марта 2020

Я новичок в Firestore и изучаю вещи. На моем пути обучения я дошел до раздела События для изменения метаданных в документации Firebase.

Это выглядит очень полезным, но я не могу понять, как его протестировать. Это код в документации

db.collection("cities").doc("SF")
    .onSnapshot({
        // Listen for document metadata changes
        includeMetadataChanges: true
    }, function(doc) {
        // ...
    });

Я добавил свою простую команду обновления, чтобы посмотреть, что происходит, она обновляется каждую секунду. Я хочу понять, что он пытается вернуть мне? и в каком случае я могу это использовать? Почему он обновляется каждую секунду?

 firebase.firestore().collection("cities").doc("DC")
    .onSnapshot({
        // Listen for document metadata changes
        includeMetadataChanges: true
    }, function(doc) {
        // ...
    var docRef = firebase.firestore().collection('cities').doc('DC');
     var updateTimestamp = docRef.update({
     timestamp: firebase.firestore.FieldValue.serverTimestamp()
 });
    });

1 Ответ

1 голос
/ 24 марта 2020

Таким образом, на самом деле вы создали современный бесконечный l oop.

Вы подписались на snapshotChanges из DC документа (для данных и метаданных), так что это означает, что любое изменение в документе вы получите его , И как только вы запускаете его в первый раз, текущие данные поступают как подписка при первом запуске.

Затем при подписке вы обновляете тот же документ, это означает, что ваша подписка будет снова запущена, и снова и снова .

 firebase.firestore().collection("cities").doc("DC")
    .onSnapshot({includeMetadataChanges: true}, (docSnapshot) => {
        console.log(docSnapshot);
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...