ニフクラmBaaSお役立ちブログ

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

NCMBクライアントでCSVインポートに対応しました

NCMBクライアント、ncmb-cliにCSVインポート機能を追加しました。管理画面上で行うものよりに若干機能を追加しています。

CSVからJSONに変換しつつインポート

通常のCSVファイルを管理画面でインポートした場合、ほぼすべて文字列としてしかインポートできませんでした。ncmb-cliではCSVからJSONに変換する機能を踏襲しているので数値や日付、オブジェクトなどを変換した上でインポートできます。

対応しているのは以下の型です。

  • 数値
  • 文字列
  • 真偽値
  • 日付
  • 位置情報
  • オブジェクト

これらをフラグで指定して変換しながらインポートできます。

既存のクラスにインポート可能

管理画面のインポートではすでにあるクラス名に対してはインポートできませんでした。ncmb-cliではインポート時に取り込むクラス名を指定します。既存の場合であればデータは追記されます。

デフォルトではファイル名を使います(User.jsonの場合はUserクラスに入ります)。

データの存在チェック

指定されているすべてのパラメータを使ってデータの存在チェックを行います。それにマッチしたデータがあった場合はインポートしません。一つでもデータが違う場合はインポート対象になります。

徐々に増えていくデータなど、何度も繰り返しても重複して入らないようになっています。ただし、検索の分APIコールは使われますので注意してください。

使い方

インストールはnpmでできます。

npm install ncmb-cli

後はコマンドを打つだけです。

ncmb csv import /path/to/csv/Item.csv --classname Item -b -d --object -l

後はログが流れていきます。非同期で処理しているので、行番号は並んでいないかも知れません。

Row #1, data exist. objectId is rFCoQOHkkCBdGPKG
Row #2, data exist. objectId is zLbqne8Gv9OITMjG

既存データのインポートにぜひお役立てください。ミスした時に備えて、あらかじめデータのエクスポートは行っておいた方が良いでしょう。

moongift/ncmb-cli: CLI tool for Nifty cloud mobile backend