Example uses:
Product
documents to an Order
documentOrder
to feature a placedBy
relationship to either an Organization
or User
collectionCategory
documents to Post
documentsOption | Description |
---|---|
name * | To be used as the property name when stored and retrieved from the database. |
*relationTo * | Provide one or many collection slug s to be able to assign relationships to. |
hasMany | Boolean when, if set to true , allows this field to have many relations instead of only one. |
label | Used as a field label in the Admin panel and to name the generated GraphQL type. |
unique | Enforce that each entry in the Collection has a unique value for this field. |
validate | Provide a custom validation function that will be executed on both the Admin panel and the backend. More |
index | Build a MongoDB index for this field to produce faster queries. Set this field to true if your users will perform queries on this field's data often. |
saveToJWT | If this field is top-level and nested in a config supporting Authentication, include its data in the user JWT. |
hooks | Provide field-based hooks to control logic for this field. More |
access | Provide field-based access control to denote what users can see and do with this field's data. More |
hidden | Restrict this field's visibility from all APIs entirely. Will still be saved to the database, but will not appear in any API or the Admin panel. |
defaultValue | Provide data to be used for this field's default value. |
localized | Enable localization for this field. Requires localization to be enabled in the Base config. |
required | Require this field to have a value. |
admin | Admin-specific configuration. See the default field admin config for more details. |
* An asterisk denotes that a property is required.
collections/ExampleCollection.js
{slug: 'example-collection',fields: [{name: 'placedBy', // requiredtype: 'relationship', // requiredrelationTo: ['organizations', 'users'], // requiredlabel: 'Placed By',hasMany: false,required: true,}]}