Я разработал скрипт узла, который прослушивает изменения в коллекции Firestore и пересылает их в службу REST:
const db = admin.firestore();
const collectionRef = db.collection('users');
var collObserver = collectionRef.onSnapshot(querySnapshot => {
let changes = querySnapshot.docChanges();
changes.forEach(change => {
console.log("Change", change.type, change.doc.id, change.doc.data())
// Do stuff with changes
});
}, err => {
console.log(`Encountered error: ${err}`);
}
);
Однако, когда скрипт загружает метод onSnapshot
, запускается первоначальный запрос дляполная коллекция.Это проблема, потому что моя коллекция может содержать до миллиона записей, и узлу сценария нет необходимости загружать и управлять всеми из них, он должен только получать изменения.
Я не вижулюбой вариант для этого в официальном SDK.Есть ли какие-нибудь хаки / решения для проблемы?