特定のフィールドにデータが登録されているコンテンツのみを取得するにはどうしたらよいですか?
filtersパラメータの条件に[exists]を指定することで特定のフィールドにデータが登録されているコンテンツのみを取得できます
取得方法
コンテンツ一覧を取得する際、filtersパラメータにfieldId[exists]のように指定することで特定のフィールドにデータが登録されているコンテンツのみを取得できます。
取得例
例として以下のようなスキーマ設定をしているAPIがあるとします。
| フィールド ID | 表示名 | 種類 |
| title | タイトル | テキストフィールド |
| product | プロダクト | カスタムフィールド-プロダクト |
カスタムフィールド内のスキーマ
| フィールド ID | 表示名 | 種類 |
| name | 名前 | テキストフィールド |
| description | 説明文 | テキストエリア |

"タイトル"にデータが登録されているコンテンツのみを取得する場合
filtersパラメータにtitle[exists]を指定してリクエストをします。
client
.get({
endpoint: 'blogs',
queries: { filters: 'title[exists]' }
})
.then((res) => console.log(res));
※上記はmicrocms-js-sdkを利用したリクエストの例です。
カスタムフィールド内の"名前"にデータが登録されているコンテンツのみを取得する場合
filtersパラメータにproduct.name[exists]を指定してリクエストをします。
client
.get({
endpoint: 'blogs',
queries: { filters: 'product.name[exists]' }
})
.then((res) => console.log(res));
※上記はmicrocms-js-sdkを利用したリクエストの例です。