Мне нужно удалить все строки из нескольких таблиц программно (а не в панели управления). Есть ли API для этого? Я не мог найти его в documentation.Как удалить все данные из нескольких таблиц Baqend?
4
A
ответ
2
Вы правы, это в настоящее время не задокументировано. Однако вы можете найти вызов REST в нашем API Explorer, хотя вы не получаете синтаксический сахар из JS SDK. Звонок REST - это DELETE
- /db/{bucket}
, где bucket
- это имя таблицы для удаления. С SDK JS этот запрос обернут в объект сообщения TruncateBucket
, вы можете использовать его как это:
DB.login("userWithAdminRole", "<password>").then(function() {
return DB.send(new DB.message.TruncateBucket('<table>'));
}).then(function() {
console.log('truncated!');
}).catch(function() {
console.log('catch truncated!');
});
Примечание: Если вы звоните этот код из вашего интерфейса вам необходимо роль администратора (отсюда
DB.login
). Если вы вызываете код из базового модуля (где у вас всегда есть рольnode
), вы можете пропустить логин.
Вы также можете попробовать все запросы REST в API Explorer. Это выглядит так: