Skip to main content

CollectionOperations

@webda/models


Interface: CollectionOperations<T>

Defined in: packages/models/src/repositories/repository.ts:268

Collection operations for nested arrays

Only implement this for storage backends that support atomic array operations (DynamoDB, MongoDB, etc.)

Extended by​

Type Parameters​

T​

T extends ModelClass = ModelClass

Methods​

deleteItemFromCollection()​

deleteItemFromCollection<K, L>(primaryKeyOrUid, collection, index, itemWriteConditionField?, itemWriteCondition?): Promise<void>

Defined in: packages/models/src/repositories/repository.ts:300

Remove item from a collection by index

Type Parameters​

K​

K extends string

L​

L extends string | number | symbol

Parameters​

primaryKeyOrUid​

string | PrimaryKeyType<InstanceType<T>>

Primary key of object containing the collection

collection​

K

Name of the array field

index​

number

Position of item to remove

itemWriteConditionField?​

L

Field to check for condition on item

itemWriteCondition?​

ArrayElement<InstanceType<T>[K]>[L]

Expected value for condition field on item

Returns​

Promise<void>


upsertItemToCollection()​

upsertItemToCollection<K, L>(primaryKeyOrUid, collection, item, index?, itemWriteConditionField?, itemWriteCondition?): Promise<void>

Defined in: packages/models/src/repositories/repository.ts:278

Add or update item in a collection (array field)

Type Parameters​

K​

K extends string

L​

L extends string | number | symbol

Parameters​

primaryKeyOrUid​

string | PrimaryKeyType<InstanceType<T>>

Primary key of object containing the collection

collection​

K

Name of the array field

item​

ArrayElement<InstanceType<T>[K]> | JSONed<ArrayElement<InstanceType<T>[K]>>

Item to add/update

index?​

number

Position to insert (undefined = append to end)

itemWriteConditionField?​

ArrayElement<InstanceType<T>[K]> extends object ? L : never

Field to check for condition on item

itemWriteCondition?​

ArrayElement<InstanceType<T>[K]> extends object ? ArrayElement[L] : ArrayElement<InstanceType<T>[K]> | null

Expected value for condition field on item

Returns​

Promise<void>