The method allows you to permanently delete an app item.
The operation is available only for a soft-deleted item (with __deletedAt !== null).
When attempting to delete an active item, the method returns an error:
fail to hard deleteitems: cannot hard deleteitemwith id \"019db3d5-6e26-7128-bde8-f0bd222018ba\" reason: __deletedAt === null.
If the hard delete feature is disabled in your company, the method returns an error: method not available.
Example of hard deleting app Items:
const limit = 5;
let offset = 0;
let countDeleteItems = 0;
do {
const countDeleteItems = await Application.batch()
.hardDelete()
.where((f,c) => c.and (f.__deletedAt.neq(null), f.__name.like('End'))))
.size(limit)
.from(offset)
.all();
offset = offset + limit;
}
while (countDeleteItems === limit)
To use this method, the app must grant the current user data import permissions.
Example of creating or updating of multiple items. The most common approach is where an array of items is created in memory and passed to the
save function.
var items = [];
for (var i = 0; i < 500; i++) {
var item = Application.create();
items.push(item)
}
await Application.batch().save().items(items).all();
Example of creating or updating app items using generators. The main difference from the previous approach is that the
entire array is not stored in memory. Instead, items are generated one at a time, which
helps save memory.
await Application.batch().save().items((function*(){
for ( var i = 0; i < 500; i++) {
var item = Application.create();
yield item
}
})()).all();
Object of batch actions in an app
Type parameters
T: ItemData
P: ItemData
Hierarchy
Methods
delete
The method allows you to perform a bulk soft delete.
To use this method, the app must grant the current user data import permissions. Example of deleting app items:
var rows = await Application.batch() .delete() .where(f => f.number.gte(10)) .size(100) .all();Returns ApplicationBatchDeleteBuilder<T>
hardDelete
The method allows you to permanently delete an app item.
The operation is available only for a soft-deleted item (with __deletedAt !== null). When attempting to delete an active item, the method returns an error:
fail to hard delete items: cannot hard delete item with id \"019db3d5-6e26-7128-bde8-f0bd222018ba\" reason: __deletedAt === null.If the hard delete feature is disabled in your company, the method returns an error: method not available. Example of hard deleting app Items:
const limit = 5; let offset = 0; let countDeleteItems = 0; do { const countDeleteItems = await Application.batch() .hardDelete() .where((f,c) => c.and (f.__deletedAt.neq(null), f.__name.like('End')))) .size(limit) .from(offset) .all(); offset = offset + limit; } while (countDeleteItems === limit)Returns ApplicationBatchHardDeleteBuilder<T>
save
The method allows you to run a batch save.
To use this method, the app must grant the current user data import permissions. Example of creating or updating of multiple items. The most common approach is where an array of items is created in memory and passed to the save function.
var items = []; for (var i = 0; i < 500; i++) { var item = Application.create(); items.push(item) } await Application.batch().save().items(items).all();Example of creating or updating app items using generators. The main difference from the previous approach is that the entire array is not stored in memory. Instead, items are generated one at a time, which helps save memory.
await Application.batch().save().items((function*(){ for ( var i = 0; i < 500; i++) { var item = Application.create(); yield item } })()).all();Returns ApplicationBatchSaveBuilder<T, P>
setStatus
The method allows you to bulk change the status of app items.
Parameters
status: TStatus<any, any>
Optional comment: undefined | string
Returns ApplicationBatchSetStatusBuilder<T>
update
The method allows you to run a batch update.
To use this method, the app must grant the current user data import permissions. Example of updating app items:
var rows = await Application.batch() .update() .set('number', (f, op) => 1) .set('number1' (f, op) => f.number1) .set('number2', (f, op) => op. inc(f.number, 10) .where(f => f.number.gte(10)) .size(100) . all();Returns ApplicationBatchUpdateBuilder<T, T, P>
Feedback sent successfully
Thank you for your input