やりたいこと
FirebaseのFirestoreに格納されたデータをcsv出力したい
ポイント
Firebaseには、直接csv出力する機能がないので、スクリプト等で引っ張ってこなければいけない
実現方法概要
①javascriptでJSON形式で一旦データを引っ張ってくる
②jqコマンドでJSONデータをcsvに変換
事前準備
①「firestore-import-export」をgit cloneしておく
git clone https://github.com/dalenguyen/firestore-import-export.git
②jqコマンドを使えるようにインストールしておく
brew install jq
③Firebaseにアクセスするための秘密鍵をローカルにダウンロードしておく
Firebaseの歯車マーク→プロジェクトの設定→サービスアカウント→新しい秘密鍵の生成
④①のexport.jsの”serviceAccount”のパスと名前を③に合わせる
⑤①のexport.jsの”databaseURL”を自分のFirebaseのprojectIDに変更する(“ionic-firestore-dn”をprojectIDに置き換える)
実現方法
①JSON形式でデータ取得
node export.js <コレクション名> <サブコレクション名(option)>
firestore-export.jsonというファイル名で生成される
②JSONデータをcsvに変換
例:
cat firestore-export.json | jq -r '.[]|.[]|[.time, .data]|@csv' > XXX.csv
jqコマンドでselect等のデータ指定や抽出ができるので、お好みで
参考
Redirecting to jqlang.github.io
コメント