javascriptfirebasegoogle-cloud-firestore

How to delete document from firestore using where clause


var jobskill_ref = db.collection('job_skills').where('job_id','==',post.job_id);
jobskill_ref.delete();

Error thrown

jobskill_ref.delete is not a function


Solution

  • You can only delete a document once you have a DocumentReference to it. To get that you must first execute the query, then loop over the QuerySnapshot and finally delete each DocumentSnapshot based on its ref.

    var jobskill_query = db.collection('job_skills').where('job_id','==',post.job_id);
    jobskill_query.get().then(function(querySnapshot) {
      querySnapshot.forEach(function(doc) {
        doc.ref.delete();
      });
    });