Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

205
Vistas
Query an array in firestore

Im trying to implement my mobile app with local notifications. To achieve that i have a function that listens to changes made in firestore if a notification is added the notification fires to the user. Here is the code i have :

 const deviceId = Constants.deviceId;

    Firebase.firestore().collection('notifications').where('user_reads', '!=', [deviceId]).onSnapshot(snapshot => {
    const {stat} = this.context;

      snapshot.docChanges().forEach(change => {
        const doc = change.doc.data();

        if (change.type === 'added') {
          console.log(change.doc.data(), 'added');

          //handle notification recived
          Notifications.addNotificationResponseReceivedListener(async response => {
            console.log(response.notification.request.identifier);

            //update read status in notification table and save uid of user who read notification
            Firebase.firestore().collection('notifications').doc(change.doc.id).update({
              user_reads: firebase.firestore.FieldValue.arrayUnion(deviceId),
              read: true,
            });

            //send user to the new post
            RootNavigation.navigate(t('SinglePost'), { id:  response.notification.request.content.data.data });
          });
        } else if (change.type === 'modified') {
          console.log(change.doc.data(), 'modified');
        }

        sendPushNotification(doc.title, doc.body, doc.postId);
      })
    });

How can i make the firestore to stop listening to changes. I save deviceId in an array in firestore. How can i condition this array to check if the the specific deviceId exists to stop listening to changes. Here is the screen-shot enter image description here

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda