[Firestore] Extrayez la collection avec la condition where dans Ruby et supprimez l'enregistrement

Aperçu

Lors de l'utilisation de l'API Firestore dans Ruby, j'ai résumé ce qu'il faut faire si vous souhaitez supprimer uniquement la collection spécifiée qui répond à la condition where.

Hypothèses, etc.

Exemple d'implémentation

sample.rb


def delete_sample
  #Obtenir un objet Firestore
  firestore = Google::Cloud::Firestore.new
  #Pour stocker le tableau de documents à supprimer
  doc_array = []
  #Obtenir la collection
  col_ref = firestore.col 'sample_collection'
  #Critères de collecte
  query = col_ref.where 'category', '==', 'test'
  query.get do |r|
    #Stocker le document cible dans un tableau
    doc_array.push r.ref
  end
  #Considérez que vous ne pouvez supprimer que 500
  document_index = 0
  batch_index = 0
  #Supprimer par lots
  while document_index < doc_array.size
    firestore.batch do |b|
      #Suspendu au 501e index
      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] Extrayez la collection avec la condition where dans Ruby et supprimez l'enregistrement
Ressentez facilement le type de base et le type de référence avec ruby
Différences entre les classes et les instances dans Ruby
Ressentez facilement le type de base et le type de référence avec ruby 2
[Spring Data JPA] La condition And peut-elle être utilisée dans la méthode de suppression implémentée automatiquement?
La différence entre la programmation qui utilise des classes Ruby et la programmation qui n'utilise pas
[Enregistrement d'apprentissage] J'ai obtenu l'heure actuelle avec Ruby et j'ai sorti un message d'accueil différent à chaque fois.
[jOOQ] Comment utiliser CASE WHEN dans la clause WHERE / AND / OR
Comment obtenir et ajouter des données depuis Firebase Firestore dans Ruby
Points à retenir et concepts dans le didacticiel Ruby on Rails
[Ruby on Rails] Comment se connecter avec seulement votre nom et mot de passe en utilisant le bijou
Prise en main des opérateurs logiques utilisant Doma tels que AND et OR dans la clause WHERE de l'API Criteria