该Collection.remove()
函数用于删除集合中的文档,类似于 SQL 数据库的
DELETE语句。它采用搜索条件字符串 ( SearchConditionStr ) 作为参数来指定应从集合中删除的文档(SearchConditionStr 的详细说明
可以在
第 4.3.2 节“Collection.find()”中找到)。remove()
如果未提供搜索条件字符串或提供空字符串,则返回错误。如果任何表达式在不匹配任何文档的情况下计算为真(例如,“ true
”或“_id IS NOT
NULL
") 作为搜索条件字符串传递。
limit(
: 将要删除的文档数限制为int
)
。int
-
sort(
: 将文档删除的顺序按照 排序,sortCriteriaList
)sortCriteriaList
可以是逗号分隔的列表,也可以是 的数组
。每个都sortCriteria
包含一个组件名称和一个搜索顺序(sortCriteria
asc
升序或desc
降序)。例如:sort('name asc', 'age desc')
sort(['name asc', 'age desc'])
该方法通常与
limit()
确定删除与搜索条件字符串匹配的文档中的哪些文档的方法结合使用。
bind()
还支持
参数绑定using ,execute()
函数触发remove操作的实际执行。以下示例显示了如何使用该
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
了解 EBNF 中的语法add()
。