【告知】値の参照時の仕様変更のお知らせ
このたび2024年11月11日に値の参照に関する仕様変更を予定しておりますので詳細について報告いたします。
more
2023.07.10に公開 | 2023.07.10に更新
Querier運営
「Querier(クエリア)」は社内向け管理画面を圧倒的な速さで、かつビジネスのスケールに合わせて柔軟に構築することができるローコードツールです。
管理画面の構築もWeb上で完結
エンジニアのためのローコードツール
FirestoreはGoogle Cloudが提供するリアルタイムデータベースであり、Pythonを使って効率的にデータを操作することができます。
本記事では、Firestoreでデータの取得、追加、更新、削除を行う方法について詳しく解説します。
以下では、それぞれの操作方法について説明します。
単一のドキュメントを取得するには、ドキュメントのパスを指定してget()
メソッドを使用します。
以下のサンプルコードを参考にしてください。
from google.cloud import firestore
# Firestoreクライアントの初期化
db = firestore.Client()
# ドキュメントのパス
doc_ref = db.collection('collection_name').document('document_id')
# ドキュメントの取得
doc = doc_ref.get()
複数のドキュメントを取得するには、where()
メソッドやorder_by()
メソッドを組み合わせてクエリを作成します。
以下のサンプルコードを参考にしてください。
from google.cloud import firestore
# Firestoreクライアントの初期化
db = firestore.Client()
# クエリの作成
query = db.collection('collection_name').where('field', '==', 'value').order_by('field')
# ドキュメントの取得
docs = query.get()
特定の条件を指定してドキュメントを取得するには、where()
メソッドを使用します。
以下のサンプルコードを参考にしてください。
from google.cloud import firestore
# Firestoreクライアントの初期化
db = firestore.Client()
# 条件を指定したクエリの作成
query = db.collection('collection_name').where('field', '==', 'value')
# ドキュメントの取得
docs = query.get()
大量のドキュメントを取得する場合、ページングを実装することで効率的にデータを取得できます。
以下のサンプルコードを参考にしてください。
from google.cloud import firestore
# Firestoreクライアントの初期化
db = firestore.Client()
# ページングクエリの作成
query = db.collection('collection_name').limit(10)
# ページング処理
while True:
docs = query.get()
for doc in docs:
# ドキュメントの処理
print(doc.id)
# 次のページがあるかチェック
if len(docs) < 10:
break
last_doc = docs[len(docs) - 1]
query = query.start_after(last_doc)
IDを指定せずにドキュメントを追加するには、collection()
メソッドを使用します。
以下のサンプルコードを参考にしてください。
from google.cloud import firestore
# Firestoreクライアントの初期化
db = firestore.Client()
# ドキュメントの追加
doc_ref = db.collection('collection_name').document()
doc_ref.set({'field': 'value'})
IDを指定してドキュメントを追加するには、document()
メソッドの引数にIDを指定します。
以下のサンプルコードを参考にしてください。
from google.cloud import firestore
# Firestoreクライアントの初期化
db = firestore.Client()
# ドキュメントの追加
doc_ref = db.collection('collection_name').document('document_id')
doc_ref.set({'field': 'value'})
構造体のデータを更新するには、update()
メソッドを使用します。
以下のサンプルコードを参考にしてください。
from google.cloud import firestore
# Firestoreクライアントの初期化
db = firestore.Client()
# ドキュメントの更新
doc_ref = db.collection('collection_name').document('document_id')
doc_ref.update({'field': 'new_value'})
ドキュメントを削除するには、delete()
メソッドを使用します。
以下のサンプルコードを参考にしてください。
from google.cloud import firestore
# Firestoreクライアントの初期化
db = firestore.Client()
# ドキュメントの削除
doc_ref = db.collection('collection_name').document('document_id')
doc_ref.delete()
データ内の一部データを削除する場合、通常の値を削除する方法はフィールドを更新してNone
やFieldValue.delete()
を設定することです。以下のサンプルコードを参考にしてください。
from google.cloud import firestore
from google.cloud.firestore import DELETE_FIELD
# Firestoreクライアントの初期化
db = firestore.Client()
# データの更新
doc_ref = db.collection('collection_name').document('document_id')
doc_ref.update({'field_to_delete': firestore.DELETE_FIELD})
上記の例では、field_to_delete
フィールドを削除します。firestore.DELETE_FIELD
を指定することで、指定したフィールドを削除することができます。
また、特定の値を削除したい場合は、その値をNone
に設定することもできます。
from google.cloud import firestore
# Firestoreクライアントの初期化
db = firestore.Client()
# データの更新
doc_ref = db.collection('collection_name').document('document_id')
doc_ref.update({'field_to_delete': None})
上記の例では、field_to_delete
フィールドの値をNone
に設定することで、値を削除します。
以上がPythonでFirestoreのデータ操作をするための基本的な方法です。
データの取得、追加、更新、削除の方法を理解することで、効率的にFirestoreを活用することができます。
Firestoreの公式ドキュメントも参考にしながら、さまざまな操作を試してみてください。
参考文献
Querier運営
「Querier(クエリア)」は社内向け管理画面を圧倒的な速さで、かつビジネスのスケールに合わせて柔軟に構築することができるローコードツールです。
このたび2024年11月11日に値の参照に関する仕様変更を予定しておりますので詳細について報告いたします。
more
データフローの通知設定機能・監査ログへのパラメータが追加されましたのでご紹介します。
more
データフローのアクションに永続化などに利用できるローカルストレージ機能を追加しました。
more
日本を健康に。多彩なフィットネスブランドを展開中。スタジオ付きの「JOYFIT」、24時間型の「JOYFIT24」、ヨガスタジオ「JOYFIT YOGA」、パーソナルジム「JOYFIT+」、家族向けの「FIT365」など、多彩なブランド展開で全国を席巻しているスポーツ事業。
more
管理画面の構築もWeb上で完結
エンジニアのためのローコードツール