Las funciones de la nube de Firebase comprueban db para datos no existentes

Estoy buscando la forma de verificar si existe un documento en mis funciones en la nube. Mis funciones a continuación funcionan bien cuando solo incrementa un valor existente, pero ahora estoy tratando de agregar una funcionalidad donde se verifique si existe el valor anterior y si no se establece como 1.

He intentado un método diferente pero obtengo cosas como “snapshot.exists” o “TypeError: No se puede leer la propiedad ‘count’ de undefined en docRef.get.then.snapshot

var getDoc = docRef.get() .then(snapshot => { if (typeof snapshot._fieldsProto.count !== undefined) { console.log("haha3", snapshot._fieldsProto.count) var count = Number(jsonParser(snapshot._fieldsProto.count, "integerValue")); docRef.set({ count: count + 1 }); } else { docRef.set({ count: 1 }); } }); 

abajo está el código para el error de existir ()

 var getDoc = docRef.get() .then(snapshot => { if snapshot.exists() { console.log("haha3", snapshot._fieldsProto.count) var count = Number(jsonParser(snapshot._fieldsProto.count, "integerValue")); docRef.set({ count: count + 1 }); } else { docRef.set({ count: 1 }); } }); 

El error para este código es:

TypeError: snapshot.exists no es una función en docRef.get.then.snapshot

Parece que docRef apunta a una colección o es una consulta. En ese caso su snapshot es de tipo QuerySnapshot .

Para verificar si una consulta tiene algún resultado, use QuerySnapshot.empty .

Seguí recibiendo errores diciendo que ya sea vacío o que no existían funciones (se probaron muchas iteraciones), por lo que finalmente llegué a usar solo un cheque indefinido y funciona perfectamente.

 var db = event.data.ref.firestre; var docRef = db.collection(userID).doc("joined").collection("total").doc("count"); var getDoc = docRef.get() .then(snapshot => { console.log("augu1", snapshot) if (snapshot._fieldsProto === undefined) { console.log("digimon1") docRef.set({ count: 1 }); } else { console.log("haha31", snapshot._fieldsProto.count) var count = Number(jsonParser(snapshot._fieldsProto.count, "integerValue")); docRef.set({ count: count + 1 }); } }); 

Resulta que el problema es mucho más simple de lo que imaginaba: DocumentSnapshot.exists es una propiedad de solo lectura, no una función. Así que la forma correcta de usarlo es:

 if snapshot.exists()