Tip

このドキュメントはAIによって翻訳されました。不正確な情報については、英語版をご参照ください

多対多(配列)

コレクションフィールド:多対多 (配列)Community Edition+

はじめに

この機能は、データ コレクション内で配列フィールドを使用し、ターゲット コレクションの複数のユニークキーを保存することで、両コレクション間に多対多のリレーションシップを確立することを可能にします。例えば、「記事」と「タグ」という2つのエンティティがある場合、1つの記事に複数のタグを関連付けることができます。この際、記事コレクションでは、タグコレクションの対応するレコードIDを配列フィールドに保存します。

:::warning{title=注意}

  • 可能な限り、この方法に頼るのではなく、中間コレクションを使用して標準的な 多対多 リレーションシップを確立することをお勧めします。
  • 現在、配列フィールドで確立された多対多のリレーションシップにおいて、ターゲット コレクションのフィールドを使用してソース コレクションのデータをフィルタリングできるのは、PostgreSQL を使用している場合のみです。例えば、上記のシナリオでは、タグ コレクションの「タイトル」などの他のフィールドに基づいて記事をフィルタリングできます。 :::

フィールド設定

多対多(配列)フィールド設定

パラメーターの説明

ソース コレクション

現在のフィールドが存在するソース コレクションです。

ターゲット コレクション

リレーションシップを確立するターゲット コレクションです。

外部キー

ソース コレクション内で、ターゲット コレクションのターゲットキーを保存する配列フィールドです。

配列フィールドタイプの対応関係は以下の通りです。

NocoBasePostgreSQLMySQLSQLite
setarrayJSONJSON

ターゲットキー

ソース コレクションの配列フィールドに保存される値に対応する、ターゲット コレクション内のフィールドです。このフィールドは一意である必要があります。