Мне нужно получить новые данные, когда что-то в документе Firestore изменится (например, документ: «1234» в коллекции: «игры»). Нужно ли мне прослушивать обновления с помощью этого кода:
var doc = db.collection('games').doc('1234');
var observer = doc.onSnapshot(docSnapshot => {
console.info(`Received doc snapshot: ${docSnapshot}`);
// ...
}, err => {
console.info(`Encountered error: ${err}`);
});
а затем просто запустите функцию, чтобы получить новые данные, где
// ...
является?
Я попытался получить данные с помощью docSnapshot.data, но, похоже, есть некоторая информация о вещах firebase, таких как обновленный документ...
Есть ли лучший способ сделать это, чем то, что я показал выше?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Ты прав; чтобы прослушать изменения документа, вы должны использовать метод onSnapshot для данной коллекции. Чтобы использовать ваш пример:
db.collection('games').doc('1234').onSnapshot(doc => {
console.info(`Received data:`, doc.data());
}, err => {
console.info(`Encountered error:`, err);
});
@TheSleepyOwl Просто выполните этот код, например. в крючок created и все. Вам не нужно вызывать его несколько раз, только один раз. См. firebase.google.com/docs/firestore/query-data/listen
Хорошо спасибо. Как бы я реализовал это в своем коде? На данный момент я зарегистрировал метод, который просто получает весь документ в части методов, а затем я вызываю его каждую секунду в созданном хуке, но я довольно быстро превысил свою квоту.