RelationshipField
Defined in: packages/core/src/fields/relationship/types.ts:140
Resolved configuration for a relationship() field, after all defaults are applied.
TCollection is the string-literal type of the target collection’s slug,
inferred from RelationshipFieldInput.collection.
Type Param
Section titled “Type Param”TCollection
The target collection slug (inferred from input).
- RelationshipFieldInput for the user-facing input type
- relationship for the config function
Extends
Section titled “Extends”BaseField<TCollectionSlug,TFieldMeta>
Type Parameters
Section titled “Type Parameters”TCollectionSlug
Section titled “TCollectionSlug”TCollectionSlug extends VexResourceSlug = VexResourceSlug
TFieldMeta
Section titled “TFieldMeta”TFieldMeta extends object = { }
TTargetSlug
Section titled “TTargetSlug”TTargetSlug extends CollectionSlug = CollectionSlug
TComponent
Section titled “TComponent”TComponent extends ComponentHKT = ComponentHKT
Properties
Section titled “Properties”admin:
RelationshipFieldAdminConfig<TCollectionSlug,TTargetSlug,TComponent>
Defined in: packages/core/src/fields/relationship/types.ts:158
Resolved admin UI configuration with all defaults applied.
Overrides
Section titled “Overrides”collection
Section titled “collection”collection:
object
Defined in: packages/core/src/fields/relationship/types.ts:148
Target collection reference.
slug:
TTargetSlug
The slug of the collection this field links to.
defaultValue?
Section titled “defaultValue?”
optionaldefaultValue?:unknown
Defined in: packages/core/src/fields/baseTypes.ts:574
Pre-filled value shown in the admin form when creating a new field. Does not apply to database values
Inherited from
Section titled “Inherited from”description?
Section titled “description?”
optionaldescription?:string
Defined in: packages/core/src/fields/baseTypes.ts:585
Semantic description of the field. Used in three places:
- Helper text rendered below the field input in the admin form UI.
- As the Zod
.meta({ description })value for form validation. - As the JSDoc comment on the generated document interface property.
To write a separate JSDoc comment, use interfaceDescription in addition.
Inherited from
Section titled “Inherited from”hasMany
Section titled “hasMany”hasMany:
boolean
Defined in: packages/core/src/fields/relationship/types.ts:153
Whether this field stores multiple document references.
index?
Section titled “index?”
optionalindex?:ResolvedFieldIndexConfigInput
Defined in: packages/core/src/fields/baseTypes.ts:589
Convex index name for this field, or the object form for a compound index.
Inherited from
Section titled “Inherited from”interfaceDescription?
Section titled “interfaceDescription?”
optionalinterfaceDescription?:string
Defined in: packages/core/src/fields/baseTypes.ts:587
The JSDoc comment on the generated document interface property
Inherited from
Section titled “Inherited from”BaseField.interfaceDescription
interfaceType
Section titled “interfaceType”interfaceType:
string
Defined in: packages/core/src/fields/baseTypes.ts:591
TypeScript type string written to generated document interfaces (e.g. "string", "number", "string[]").
Inherited from
Section titled “Inherited from”label:
string
Defined in: packages/core/src/fields/baseTypes.ts:567
Display label shown in the admin form. Always set — inferred from the field key if not provided.
Inherited from
Section titled “Inherited from”
optionalmax?:FieldLimit
Defined in: packages/core/src/fields/relationship/types.ts:157
Maximum number of related documents allowed, with its resolved error message.
meta:
TFieldMeta
Defined in: packages/core/src/fields/baseTypes.ts:592
Inherited from
Section titled “Inherited from”
optionalmin?:FieldLimit
Defined in: packages/core/src/fields/relationship/types.ts:155
Minimum number of related documents required, once a value is supplied, with its resolved error message.
required
Section titled “required”required:
boolean
Defined in: packages/core/src/fields/baseTypes.ts:569
Whether this field is required in the database schema.
Inherited from
Section titled “Inherited from”
readonlytype:"relationship"
Defined in: packages/core/src/fields/relationship/types.ts:146
Methods
Section titled “Methods”validate()?
Section titled “validate()?”
optionalvalidate(props):void|Promise<void>
Defined in: packages/core/src/fields/relationship/types.ts:160
Server-only async validation with value typed as string[].
Parameters
Section titled “Parameters”FieldValidateProps<TCollectionSlug, string[]>
Returns
Section titled “Returns”void | Promise<void>
Overrides
Section titled “Overrides”BaseField.validate