Cloud Firestore
本日は、Firestoreの不可分操作の一つである、バッチ書き込みを使ってみたいと思います♀️ 不可分操作(アトミックオペレーション)は、複数の操作を一つの操作として扱うことで、全ての操作が成功、又は失敗するように処理を行うことを指します。Firestoreで…
Firestoreを使って、アプリ側の強制アップデート機能を実装したので、今回はその方法を簡単に紹介していきたいと思います♀️ それではやっていく まず重要なのは、現在のバージョンが必須バージョンを満たしているかどうかの条件分岐です。これは以前のブロ…
先日、Firestoreのクエリカーソルを日付で追加してデータを取得しようとすると、指定した位置のドキュメントがうまく取得できなかったのでメモを残しておきます♀️ let startDate = Date() db.collection("cities") .order(by: "serverDate") .start(at: [st…
get() 指定したパスのドキュメントの情報を取得します。例えばusersコレクションのhogeというドキュメントのnameフィールド値を取得したい場合は下記のようになります。 allow read: if get(/databases/$(database)/documents/users/hoge).data.name == 'hog…
Firestore のセキュリティールールで使用するテストオブジェクトの GeoPoint を下記のように設定するとエラーが発生していました const { GeoPoint } = require("@google-cloud/firestore"); function fieldMapData(fieldId) { return { id: fieldId, name: …
先日に引き続き今日も Firestore のセキュリティルール について書いていきたいと思います 今回はタイトルの通り、Firestore のドキュメントに書き込めるフィールドのバリデーションを行っていきたいと思います。 それではやっていく ということで、「こんな…
先日 Firestore のセキュリティールールで undefined かどうかの判定をするために下記のようなコードを書いていました function isUndefined(data) { return data.hoge == undefined; } 実はこれ正しく動作しないので注意が必要です。サンプル実装などによく…
今回は、Firestore に保存されているデータで、該当する月のデータのみを取得してくる方法のサンプルを紹介していきたいと思います。 結論 サンプル実装は、Ballcap という Firestore のラッパーライブラリを使っていますが、基本的にやることは同じで isGre…
みなさん、Firestore は使っていますか?僕は、個人で開発中のアプリでがっつり利用させてもらっている(Firebase信者)ので日々 Firestore と格闘しています 今回はそんな Firestore で複合インデックスを作成する機会があったのでメモしておきます。 複合イ…
先日、Kotlin で Firestore を用いて Collection を取得していると下記のような Error に遭遇しました 2020-12-13 11:42:44.547 22551-22551/com.YamatoOtaka.androidsample1 E/AndroidRuntime: FATAL EXCEPTION: main Process: com.YamatoOtaka.androidsamp…
今日は、タイトルの通り Firestore から取得したデータ(SnapShot)を DocumentID 付きのカスタムクラスに変換する方法を紹介します それではやっていく まずは、データをマップするクラスを作成します。以前の記事でも紹介したように、マップするクラスはデ…
今回は、Android(Kotlin) で Firestore を使ってデータを取得するまでの手順を簡単に紹介したいと思います 前提条件 APIレベル16(Jelly Bean) 以降が対象 Gradle 4.1 以降 Jetpack(AndroidX) を使用 新規 Firebase プロジェクト作成済み Android アプリも登…
今回は、Cloud Firestore のセキュリティルールでよく書く記法などをまとめていきたいと思います。(他にもでてきたら随時更新していく) 認証系 認証しているユーザのみ読み取りが可能になります。 service cloud.firestore { match /databases/{database}/do…
firebase emulators:start --only firestore コマンドで Firestore エミュレータを起動しようとしたら下記のような Error が $ firebase emulators:start --only firestore i emulators: Starting emulators: firestore i emulators: Shutting down emulator…
セキュリティルールとは? Cloud Firestore のドキュメント DB に関してかけられる制約のことです。これによってサーバ側の認証・承認などのコードを作成する必要がなくなります。また、認証という役割だけではなく DB に対するデータの制約なんかもこのセキ…
Cloud Firestore とは? 高速でサーバレスなクラウド NoSQL ドキュメントデータベースです。Firebase Realtime Database と同様にスキーマレスかつリアルタイムにデータを監視することができます。 公式ドキュメント https://cloud.google.com/firestore/doc…