非公式ではありますがCLIでmBaaSの操作ができるncmbですが、データストアの検索に対応しました。
インストール方法
node.jsが必須になります。その上で、
npm install ncmb -g
にてインストールできます。
データストアの検索について
-qまたは--queryというオプションが追加されています。この中に、SQL風に条件を書くことで検索ができます。例えば、
$ ncmb datastore list TestClass -i message,count -l 100 -q 'message="Hello, NCMB!"' ┌──────────────┬───────┐ │ message │ count │ ├──────────────┼───────┤ │ Hello, NCMB! │ │ ├──────────────┼───────┤ │ Hello, NCMB! │ 20 │ ├──────────────┼───────┤ │ Hello, NCMB! │ 15 │ ├──────────────┼───────┤ │ Hello, NCMB! │ 10 │ ├──────────────┼───────┤ │ Hello, NCMB! │ 3 │ └──────────────┴───────┘
のように実行します。MongoSQL風なオペランドではなく、MySQLなどの一般的なSQL風に記述できます。
使えるオペランド
今のところ、
- = または ==
- <> または !=
- <= または =<
- >= または =>
- <
- >
- in
- not in
が使えます。データがあるかどうかを判断する場合は、 != null
または = null
が使えます。リレーションや他のクラスのポインタを使った検索、および位置情報には対応していません。
AND/ORについて
AND、OR検索も通常のSQL風に行えます。
countが5より大きく、かつmessageがHello, NCMB!のものを検索。
$ ncmb datastore list TestClass -i message,count -l 100 -q 'count > 5 and message="Hello, NCMB!"' ┌──────────────┬───────┐ │ message │ count │ ├──────────────┼───────┤ │ Hello, NCMB! │ 20 │ ├──────────────┼───────┤ │ Hello, NCMB! │ 15 │ ├──────────────┼───────┤ │ Hello, NCMB! │ 10 │ └──────────────┴───────┘
countが5より大きい、またはmessageがHello, NCMB!のものを検索。
$ ncmb datastore list TestClass -i message,count -l 100 -q 'count > 5 or message="Hello, NCMB!"' ┌──────────────┬───────┐ │ message │ count │ ├──────────────┼───────┤ │ Hello, NCMB! │ │ ├──────────────┼───────┤ │ Hello, NCMB! │ 20 │ ├──────────────┼───────┤ │ Hello, NCMB! │ 15 │ ├──────────────┼───────┤ │ Hello, NCMB! │ 10 │ ├──────────────┼───────┤ │ Hello, NCMB! │ 3 │ └──────────────┴───────┘
この他のオプションは次の通りです。
$ ncmb datastore list --help Usage: ncmb-datastore-list [options] Options: -h, --help output usage information -V, --version output the version number -a, --application_key [application_key] Your application Key -c, --client_key [client_key] Your client key -l, --limit [number] Get the data numbers. -s, --skip [number] How skip data numbers. -e, --except [cloumns] Ignore cloumns -q, --query [query] Search Query -i, --include [cloumns] Include cloumns
機能要望がありましたらmoongift/ncmb-cli: CLI tool for Nifty cloud mobile backendまでお寄せください。
ぜひ活用してください!