Firebase Cloud Firestore, как установить snapShotOptions - PullRequest
0 голосов
/ 16 февраля 2019

Я использую Node SDK для Firebase и Firestore.

Когда я использую collection.add (), я устанавливаю метку времени в своем документе с помощью:

firebase.firestore.FieldValue.serverTimestamp()

Моя проблемаЯ прослушиваю изменения, используя collection.onSnapshot, и отметка времени возвращается как ноль, потому что я считаю, что сообщаемое изменение является локальным изменением, т.е.БД еще не успел написать временную метку.

Я считаю, что firebase.firestore.onSnapshotOptions был добавлен, чтобы исправить это, т.е.вы можете установить в «смету», чтобы оценочная временная метка возвращалась в моментальных снимках для локальных изменений - фактическая временная метка возвращалась позже при смене сервера.

Мой вопрос заключается в том, как / где мне установить эту опцию в моемприложение?

1 Ответ

0 голосов
/ 16 февраля 2019

Насколько я вижу, этот тип используется только в QuerySnapshot.docChanges().В этом случае его использование должно выглядеть примерно так:

db.collection("yourcollection")
    .get()
    .then(function(querySnapshot) {
        querySnapshot.docChanges({ serverTimestamps: 'estimate' }).forEach(function(doc) {
            console.log(doc.id, " => ", doc.data());
        });
    })
    .catch(function(error) {
        console.log("Error getting documents: ", error);
    });

Допустимые значения для serverTimestamps: "estimate", "previous" и "none" (значение по умолчанию).См. документацию SnapshotOptions. serverTimestamps для получения подробной информации об их значении.

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