0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MicroCMS:microcms-js-sdkを使ってデータを並び替える方法

Posted at

こんばんは。

今日は「MicroCMS:microcms-js-sdkを使ってデータを並び替える方法方法」について説明します。

microCMS では、取得するデータをクエリパラメータや SDK のオプションで並び替える(ソート)ことが可能です。以下では代表的な方法や書き方を紹介します。

REST API でのソート

書式

GET https://[YOUR_SERVICE].microcms.io/api/v1/[ENDPOINT]?orders=[フィールド名]

  • 昇順: orders=titleのようにフィールド名をそのまま指定
  • 降順: orders=-titleのように先頭に-を付与

使用例

  • publishedAt昇順:
GET https://example.microcms.io/api/v1/blog?orders=publishedAt
  • publishedAt降順:
GET https://example.microcms.io/api/v1/blog?orders=-publishedAt
  • 複数フィールドで並び替え(最初に指定したフィールドを優先):
GET https://example.microcms.io/api/v1/blog?orders=title,-publishedAt

microCMS JS SDK でのソート

もしJS SDK(microcms-js-sdk)を利用している場合は、以下のようにqueries.ordersオプションを指定できます。

import { createClient } from 'microcms-js-sdk';

const client = createClient({
  serviceDomain: 'YOUR_SERVICE_DOMAIN',
  apiKey: 'YOUR_API_KEY',
});

(async () => {
  // 例: publishedAt を降順で取得
  const data = await client.get({
    endpoint: 'blog',
    queries: {
      orders: '-publishedAt',
    },
  });
  console.log(data);
})();

その他の注意点

  • 使用できるフィールド名:
    フィールド設定(スキーマ)で作成したフィールドやデフォルトのid, createdAt, updatedAt, publishedAtなどを指定可能です。
  • 複数ソート:
    orders=フィールドA,-フィールドBのようにカンマ区切りで複数指定できます。
  • 絞り込みやその他オプションとの併用:
    ソートに加えて、limit, offset, filtersなどのクエリパラメータを同時に利用できます。

以上が microCMS でデータをソートする基本的な方法です。
必要に応じて、昇順・降順の指定や複数フィールドの組み合わせなどを使って、目的の並び順を実現できると思います。

今日は以上です。

ありがとうございました。
よろしくお願いいたします。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?