Cómo verificar si existe un documento de almacén de incendios en la nube cuando se usan actualizaciones en tiempo real

Esto funciona:

db.collection('users').doc('id').get()
  .then((docSnapshot) => {
    if (docSnapshot.exists) {
      db.collection('users').doc('id')
        .onSnapshot((doc) => {
          // do stuff with the data
        });
    }
  });

... pero parece detallado. Intenté doc.exists, pero eso no funcionó. Solo quiero verificar si el documento existe, antes de suscribirme a las actualizaciones en tiempo real. Ese get inicial parece una llamada de cintura al db.

¿Hay una mejor manera?

Respuestas a la pregunta(2)

Su respuesta a la pregunta