一次删除多个 MongoDB Atlas 文档

15

我在Mongodb云数据库(Atlas)中只能一次删除一个记录,但我有60个记录需要删除,这很痛苦。我没有看到一种明显的方法可以一次性删除多个记录。是否有简单的方法来做到这一点?

6个回答

10
实际上,MongoDB Atlas 不支持批量删除。点击此处查看 MongoDB Atlas 的过滤器部分(也称为 Data Explorer)。但是,您可以使用Atlas凭据连接到数据库后运行标准查询,例如查找和删除操作。
在集群视图中,单击要查询/修改的集合所在的集群上的连接。然后按照 UI 提示获取使用 Mongo Shell 的连接字符串。如果您需要 GUI 方式进行删除,可以考虑使用 Mongo Compass。Atlas 还提供了连接 Compass 的说明,该说明在同一页上。
点击Connect Menu

1
我有Compass,但没有一种方法可以同时删除多个项目。我希望它能像phpMyAdmin一样简单,您可以勾选要删除的记录,然后只需单击“删除”即可。 - user8463989
我认为你是正确的,Compass不允许一次删除多个项目。看起来你将不得不使用Mongo Shell通过查询进行删除。 - Sam Ulloa
7
为什么Atlas中没有这个功能呢?我想不到我所知道的任何数据库平台都没有多重删除选项。 - Isaac Pak

2

如果您不想保留集合内的任何文档,可以通过mongodb atlas应用程序直接删除整个集合这将删除集合中的所有文档。不要担心,在创建文档时,该集合将自动创建。我发现这种方法比安装mongodb shell并运行删除查询更方便。


1
我通常使用由MongoDB拥有的mLab。那里有一个选项可以删除所有文档。 mLab.com mLab.com

3
这个答案已经不再相关了,因为mLab即将关闭(而且该问题也被标记为“atlas”)。 - derekbaker783
mLab似乎已不再是答案。 - RukshanJS

1

0
你可以使用Robomongo,这就像Compass一样,但有一个删除功能,所以你可以使用这样的查询:deleteMany({name: "dang"}) https://robomongo.org/

-2

在Mongo shell中的集合删除方法中,您可以使用$multi=true

db.collectionName.remove({where condition}, {$multi:true})

将删除所有符合条件的记录。

如果您正在使用任何语言中的JPA或mongo-data存储库,则可能具有以下方法:

 deleteAllByColumnName(ColumnNameValue)

或者

 deleteAll()

在接口类中,您只需要使用dao.deleteAll()方法。

有关存储库删除查询的更多文档,请查看此处


在Atlas中我在哪里可以找到它?我只看到一个搜索类型字段,上面写着FILTER,并且旁边有一个FIND按钮。 - user8463989
问题是关于Atlas而不是mongo shell。 - dang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接