ターミナルからmBaaSを手軽に扱えるようにするncmb-cliが、JSONのインポートに対応しました。これまではCSVインポートのみでしたが、エクスポートしたJSONファイルをそのまま取り込めるようになります。
インストール法
インストールは npm を使って行います。Node.jsをあらかじめインストールしておいてください(バージョン12以上推奨)。
npm i ncmb-cli -g
使い方
使い方はCSVインポートと同じです。ファイルの拡張子を見て、CSVとJSONを判別しています。
$ ncmb csv import /path/to/Follow.json Row #1, data saved. objectId is HOl08kI1Ko9HpjU4 Row #2, data saved. objectId is 1XVrZVelGlIKVUV7 Row #3, data saved. objectId is vuPKlXgDTXk1H2F Row #4, data saved. objectId is leXm2FKrDM2MMzka Row #5, data saved. objectId is jNxb8hgp0ePyiElb
デフォルトではファイル名(上記の場合であればFollow)がクラス名として使われますが --classname
で別なクラス名を指定できます。
JSONの形式について
JSONファイルはエクスポートする時と同様に results
をキーとして、その中にデータの配列が入る形になります。
{"results":[ {"createDate":{"__type":"Date","iso":"2016-02-19T08:36:22.779Z"}, "updateDate":{"__type":"Date","iso":"2017-03-09T04:37:17.276Z"}, "acl":{"*":{"read":true,"write":true}}, "user":{"__type":"Pointer","className":"user","objectId":"62JDZ6Q0C7NC8FKO"}, "follower":{"__type":"Pointer","className":"user","objectId":"Y4ELkjZgZ6TpS2T4"}, "obj":{"name":"orange"} }, : ]}
注意点
データのobjectId、createData、updateDateなどは既定のフィールドになるので取り込み対象外になります。
まとめ
エクスポートしたデータを取り込み直す際にぜひ使ってみてください。他にも機能がありますので、ぜひリポジトリをご覧ください。
GitHub - goofmint/ncmb-cli: CLI tool for Nifcloud mobile backend