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состоит из имени компонента и порядка сортировки (sortCriteriaascдля возрастания или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.