sails.js удаляет всех участников из коллекции ватерлинии - PullRequest
0 голосов
/ 22 января 2019

Я хочу удалить все элементы, которые есть в коллекции, но я не хочу передавать каждый элемент ID в .member() метод. документация по ватерлинии объясняет способ удаления определенных членов, например:

await User.removeFromCollection(3, 'pets')
.members([99,98]);

Я хочу, чтобы sth вроде:

await User.removeFromCollection(3, 'pets')
.members(['*']);

1 Ответ

0 голосов
/ 22 января 2019

Насколько я могу судить, это должно быть сделано с использованием .destroy() без критериев.

Редактировать (2019-07-10): Добавлены пустые кудрисогласно комментарию от noobular

await User.destroy({});                // Removes all records from your User collection

await User.destroy({name:'Bill'};    // Removes all records from your User collection
                                        where the 'name' is 'Bill'

Документы: .destroy()

Обновление

После васуказал, что я неправильно понял ваш вопрос, я пришел с этим решением.Документы для .removeFromCollection() утверждают, что передача массива родительских идентификаторов удалит всех дочерних элементов в указанной коллекции, но, похоже, это не работает так, как написано.

Однако я нашелрабочий раствор для вас, используя .replaceCollection().

await User.replaceCollection(3, 'pets', []);

OR

await User.replaceCollection(3, 'pets').members([]);

Передача пустого массива заменит текущий массив ассоциаций пустым массивом и очистит текущие ассоциации.

Документы: .replaceCollection()

...