【Firebase】Firestoreのデータをcsv出力(Macで)

やりたいこと

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

コメント

タイトルとURLをコピーしました