[Firestore] Extrahieren Sie die Sammlung mit der where-Bedingung in Ruby und löschen Sie den Datensatz

Überblick

Bei Verwendung der Firestore-API in Ruby habe ich zusammengefasst, was zu tun ist, wenn Sie nur die angegebene Sammlung löschen möchten, die die where-Bedingung erfüllt.

Annahmen usw.

Implementierungsbeispiel

sample.rb


def delete_sample
  #Holen Sie sich Firestore-Objekt
  firestore = Google::Cloud::Firestore.new
  #Zum Speichern des zu löschenden doc-Arrays
  doc_array = []
  #Sammlung abholen
  col_ref = firestore.col 'sample_collection'
  #Sammelkriterien
  query = col_ref.where 'category', '==', 'test'
  query.get do |r|
    #Speichern Sie das Zieldokument in einem Array
    doc_array.push r.ref
  end
  #Beachten Sie, dass Sie nur bis zu 500 löschen können
  document_index = 0
  batch_index = 0
  #Im Stapel löschen
  while document_index < doc_array.size
    firestore.batch do |b|
      #Bei 501. Index ausgesetzt
      break if batch_index == 500

      b.delete doc_array[document_index]
      document_index += 1
      batch_index += 1
    end
    batch_index = 0
  end
end

Recommended Posts

[Firestore] Extrahieren Sie die Sammlung mit der where-Bedingung in Ruby und löschen Sie den Datensatz
Fühlen Sie den Grundtyp und Referenztyp leicht mit Rubin
Unterschiede zwischen Klassen und Instanzen in Ruby
Fühlen Sie den Grundtyp und Referenztyp leicht mit Rubin 2
[Spring Data JPA] Kann die And-Bedingung in der automatisch implementierten Löschmethode verwendet werden?
Der Unterschied zwischen der Programmierung mit Ruby-Klassen und der Programmierung ohne Ruby-Klassen
[Lernaufzeichnung] Ich habe die aktuelle Zeit mit Ruby erhalten und für jedes Mal eine andere Begrüßung ausgegeben.
[jOOQ] Wie in der WHERE / AND / OR-Klausel WANN FALLEN
Abrufen und Hinzufügen von Daten aus dem Firebase Firestore in Ruby
Dinge, an die Sie sich erinnern sollten, und Konzepte im Ruby on Rails-Tutorial
[Ruby on Rails] So melden Sie sich nur mit Ihrem Namen und Passwort mit dem Gem-Gerät an
Erste Schritte mit Doma-using Logical Operators wie AND und OR in der WHERE-Klausel der Criteria-API