我还没有找到一个方法来做这件事。如果我们不能使用正则表达式删除文档,我们可以做什么来做到这一点?为什么mongodb不提供这样的驱动程序?
jjjwad0x1#
.remove()方法只接受一个查询对象,因此正则表达式只是MongoDB的一个标准查询:
.remove()
db.collection.remove({ "field": /^string/ })
删除任何以“string”开头的“field”也可以查看$regex的文档。
$regex
db2dz4w82#
可以使用remove()方法和$regex查询删除文档。举个例子
remove()
db.users.remove({"email" : { $regex : /$test/}})
它将删除所有以'test'开头的用户电子邮件。
db.users.remove({"email" : { $regex : /@yopmail.com$/}})
它将删除所有以“yopmail.com”结尾的用户电子邮件详细说明见here,mongoDB官方网站
dgsult0t3#
使用deleteMany方法:
db.collection.deleteMany({ "field": /^string/ })
3条答案
按热度按时间jjjwad0x1#
.remove()
方法只接受一个查询对象,因此正则表达式只是MongoDB的一个标准查询:删除任何以“string”开头的“field”
也可以查看
$regex
的文档。db2dz4w82#
可以使用
remove()
方法和$regex
查询删除文档。举个例子
它将删除所有以'test'开头的用户电子邮件。
它将删除所有以“yopmail.com”结尾的用户电子邮件
详细说明见here,mongoDB官方网站
dgsult0t3#
使用deleteMany方法: