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()»:

JavaScript-код MySQL Shell

// 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();

Python-код MySQL Shell

# 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()
	    

JavaScript-код Node.js

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

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

Код C#

// 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();

Код Python

# Use the collection "my_collection"
my_coll = my_schema.get_collection('my_collection')

# Remove documents by criteria
my_coll.remove("name like :name AND age < :age").limit(1).bind("name","N%").bind("age", 60).execute();

Код Java

// Use the collection 'my_collection'
Collection 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();
 

Код C++

// Use the collection 'my_collection'
Collection 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-en/collection-remove.html

Spec-Zone.ru

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