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

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

ファイルストアで利用できる検索条件について

f:id:mbaasdevrel:20201204215542p:plain

写真やテキストファイル、動画などをアップロードできるファイルストアですが、ベースはデータストアと同じようなデータ構造です。しかし、データストアで利用できる条件がすべて利用できる訳ではありません。

この記事ではファイルストアで利用できる検索条件を紹介します。もっと自由にファイルストアを使いこなしてください。

ファイルストアで取得できるオブジェクトの構造

ファイルストアで検索を行うと、次のような結果が返ってきます。

{
  "results":[
    {
      "fileName":"ttl_mb.png",
      "mimeType":"application/octet-stream",
      "fileSize":6325,
      "createDate":"2013-09-24T00:44:49.245Z",
      "updateDate":"2013-09-24T00:44:49.245Z",
      "acl":{
        "*":{
          "write":true,
          "read":true
        },
        "AAA":{
          "write":true,
          "read":true
        }
      }
    }
  ]
}

このオブジェクトの項目はすべて検索条件として利用できます。

フィールド名 意味
fileName ファイル名
mimeType コンテンツタイプ
fileSize ファイルサイズ
createDate 作成日時
updateDate 最終更新日時

検索例

同じ拡張子のファイルだけを取得する

正規表現検索と組み合わせることで、同じ拡張子のファイルを選択できます。

ncmb.File
    .regularExpressionTo('fileName', '.*\.png')
    .fetchAll();

サイズが大きいファイルだけを選択する

ファイルサイズを使った絞り込みです。以下は1KB以上のファイルを選択する条件です。

ncmb.File
    .greaterThanOrEqualTo('fileSize', 1024)
    .fetchAll();

mimeTypeで絞り込み

拡張子と似ていますが、mimeTypeで絞り込みも行えます。

ncmb.File
    .equalTo('mimeType', 'text/plain')
    .fetchAll();

まとめ

ファイルストアは指定したファイルをダウンロードするだけでなく、検索条件を指定することで、より柔軟なファイル取得が可能になります。ぜひ使いこなしてください。

REST API リファレンス : ファイル検索 | ニフクラ mobile backend

中津川 篤司

中津川 篤司

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