【问题标题】:mongorestore dropping collections using -drop optionmongorestore 使用 -drop 选项删除集合
【发布时间】:2015-03-03 17:54:31
【问题描述】:

假设如果我有一个包含两个集合 collA 和 collB 的数据库 testdb,并尝试从转储中仅恢复 collB。

将 --drop 选项与 mongorestore 一起使用是否会从 testdb 中删除现有的集合(collA 和 collB),即使只有 collB 在转储中?

我使用的是 MongoDB 2.6.5

【问题讨论】:

    标签: mongodb mongorestore


    【解决方案1】:

    不,实际上,根据官方文档:

    --丢弃 在从转储备份还原集合之前,从目标数据库中删除集合。 --drop 不会删除不在备份中的集合。

    【讨论】:

      【解决方案2】:

      使用 --drop 时,如果集合同时存在于数据库和备份集合中,mongorestore 将删除它们。它不会删除备份集合中不存在的集合。

      因此在您的示例中,collB 将被删除并恢复,而 collA 保持不变。

      【讨论】:

        【解决方案3】:

        是的。 --drop 选项从目标数据库中删除所有集合,并用从转储中恢复的集合替换它们。

        【讨论】:

        • 我只是尝试做一个小测试,发现如果其中一个集合不是恢复的转储的一部分,它不会被丢弃
        • 在同一个数据库中?你确定吗?如果是这样,那就是一个错误。记录在还原之前删除目标数据库中的每个集合。
        • 是的,我确信它在使用 --drop 选项恢复之前没有删除所有集合
        • 文档说“--drop 不会删除不在备份中的集合。”
        猜你喜欢
        • 2015-02-20
        • 1970-01-01
        • 2014-03-08
        • 2011-04-13
        • 2013-05-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-16
        相关资源
        最近更新 更多