FJCT_ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

ncmb-cliがJSONのインポートに対応しました

f:id:mbaasdevrel:20171212211252p:plain

ターミナルから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

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。