Das funktioniert:
db.collection('users').doc('id').get()
.then((docSnapshot) => {
if (docSnapshot.exists) {
db.collection('users').doc('id')
.onSnapshot((doc) => {
// do stuff with the data
});
}
});
... aber es scheint ausführlich. Ich habe es versucht doc.exists
, aber das hat nicht funktioniert. Ich möchte nur überprüfen, ob das Dokument vorhanden ist, bevor ich Echtzeit-Updates abonniere. Dieser erste Anruf scheint ein verschwendeter Anruf bei der Datenbank zu sein.
Gibt es einen besseren Weg?
javascript
google-cloud-firestore
Stewart Ellis
quelle
quelle
db.collection('users').doc('id').ref.get()
Antworten:
Ihr anfänglicher Ansatz ist richtig, aber es kann weniger ausführlich sein, die Dokumentreferenz einer Variablen wie der folgenden zuzuweisen:
const usersRef = db.collection('users').doc('id') usersRef.get() .then((docSnapshot) => { if (docSnapshot.exists) { usersRef.onSnapshot((doc) => { // do stuff with the data }); } else { usersRef.set({...}) // create the document } });
Referenz: Holen Sie sich ein Dokument
quelle