【发布时间】:2015-03-03 17:54:31
【问题描述】:
假设如果我有一个包含两个集合 collA 和 collB 的数据库 testdb,并尝试从转储中仅恢复 collB。
将 --drop 选项与 mongorestore 一起使用是否会从 testdb 中删除现有的集合(collA 和 collB),即使只有 collB 在转储中?
我使用的是 MongoDB 2.6.5
【问题讨论】:
标签: mongodb mongorestore
假设如果我有一个包含两个集合 collA 和 collB 的数据库 testdb,并尝试从转储中仅恢复 collB。
将 --drop 选项与 mongorestore 一起使用是否会从 testdb 中删除现有的集合(collA 和 collB),即使只有 collB 在转储中?
我使用的是 MongoDB 2.6.5
【问题讨论】:
标签: mongodb mongorestore
不,实际上,根据官方文档:
--丢弃 在从转储备份还原集合之前,从目标数据库中删除集合。 --drop 不会删除不在备份中的集合。
【讨论】:
使用 --drop 时,如果集合同时存在于数据库和备份集合中,mongorestore 将删除它们。它不会删除备份集合中不存在的集合。
因此在您的示例中,collB 将被删除并恢复,而 collA 保持不变。
【讨论】:
是的。 --drop 选项从目标数据库中删除所有集合,并用从转储中恢复的集合替换它们。
【讨论】: