Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

201
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!