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'
myColl = db.get_collection('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-python-en/collection-remove.html

Spec-Zone.ru

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