2017-12-17 4 views
2

Wie kann ich mit firestore js sdk auf einen bestimmten Bereichswechsel hören?Firestore - Bestimmte Feldwechsel anhören?

In der Dokumentation scheinen sie nur zu zeigen, wie auf das gesamte Dokument zu hören ist, wenn eines der "SF" -Feld ändert, wird es den Rückruf auslösen.

db.collection("cities").doc("SF") 
.onSnapshot(function(doc) { 
    console.log("Current data: ", doc && doc.data()); 
}); 

Antwort

1

Sie können nicht. Alle Vorgänge in Firestore sind auf einem gesamten Dokument.

Dies gilt auch für Cloud Functions Firestore triggers (Sie können nur ein ganzes Dokument erhalten, das in irgendeiner Weise geändert wurde).

Wenn Sie den Umfang einiger Daten, die aus einem Dokument abgerufen werden sollen, eingrenzen müssen, legen Sie diese in einem Dokument innerhalb einer Untersammlung ab und fragen Sie dieses Dokument einzeln ab.

+1

Ist das nicht ein großer Nachteil gegenüber der Firebase Echtzeit-Datenbanklösung? – httpete

+0

Ja, das ist bekannter Unterschied im Verhalten und wurde in verschiedenen Foren diskutiert. Wenn Sie lediglich einen vorhandenen Schlüssel in der Datenbank suchen und Änderungen abhören möchten, ist das in RTDB viel einfacher. In der Tat gibt es eine Reihe weiterer bekannter Vorteile (derzeit), die am Ende dieses Blogs dokumentiert sind: https://firebase.googleblog.com/2017/10/cloud-firestore-for-rtdb-developers.html –