Spec-Zone.ru › MySQL Connectors 1.0

4.3.4 Collection.remove()

Функция Collection.remove() предназначена для удаления документов из коллекции, аналогично оператору удаления в базе данных SQL. Она принимает строку условия поиска (SearchConditionStr) в качестве параметра для указания документов, которые необходимо удалить из коллекции (подробное описание SearchConditionStr можно найти в разделе 4.3.2, «Collection.find()»). remove() возвращает ошибку, если строка условия поиска отсутствует или является пустой. Все документы в коллекции удаляются, если в качестве строки условия поиска передано любое выражение, которое истинно без сопоставления с каким-либо документом (например, «true» или «_id IS NOT NULL»).

Следующие методы можно использовать цепочкой после метода remove() для настройки удаления:

  • limit(int): Ограничивает количество удаляемых документов до int.

  • sort(sortCriteriaList): Сортирует порядок удаления документов в соответствии с sortCriteriaList, которое представляет собой либо список через запятую, либо массив sortCriteria. Каждый sortCriteria состоит из имени компонента и порядка сортировки (asc для возрастающей, или desc для убывающей сортировки). Например:

    • sort('name asc', 'age desc')

    • sort(['name asc', 'age desc'])

    Этот метод обычно используется в сочетании с методом limit() для определения, какие из документов, соответствующих строке условия поиска, подлежат удалению.

Поддержка привязки параметров с помощью bind(), и функция execute() запускает фактическое выполнение операции удаления. Следующий пример демонстрирует использование функции Collection.remove(). Предполагается, что некоторые документы были добавлены в коллекцию, как показано в примере кода в разделе 4.3.1, «Collection.add()»:

// Use the collection 'my_collection'
var myColl = db.getCollection('my_collection');

// Remove documents by criteria
 myColl.remove('name like :name AND age < :age').
  limit(1).bind('name','N%').bind('age', 60).execute();

См. также CollectionRemoveFunction для синтаксиса add() в EBNF.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/x-devapi-userguide-shell-js-en/collection-remove.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API