我可以使用正则表达式删除mongodb的文档吗?

xlpyo6sf  于 2023-03-29  发布在  Go
关注(0)|答案(3)|浏览(96)

我还没有找到一个方法来做这件事。如果我们不能使用正则表达式删除文档,我们可以做什么来做到这一点?为什么mongodb不提供这样的驱动程序?

jjjwad0x

jjjwad0x1#

.remove()方法只接受一个查询对象,因此正则表达式只是MongoDB的一个标准查询:

db.collection.remove({ "field": /^string/ })

删除任何以“string”开头的“field”
也可以查看$regex的文档。

db2dz4w8

db2dz4w82#

可以使用remove()方法和$regex查询删除文档。
举个例子

db.users.remove({"email" :  { $regex : /$test/}})

它将删除所有以'test'开头的用户电子邮件。

db.users.remove({"email" :  { $regex : /@yopmail.com$/}})

它将删除所有以“yopmail.com”结尾的用户电子邮件
详细说明见here,mongoDB官方网站

dgsult0t

dgsult0t3#

使用deleteMany方法:

db.collection.deleteMany({ "field": /^string/ })

相关问题