将mongo集合导入到现有集合中而不会覆盖它
问题描述:
是否可以将mongodump导入到添加到现有集合中(而不是覆盖它)?如果是,如何?将mongo集合导入到现有集合中而不会覆盖它
会使用mongoimport --db mydb
吗?
这些集合在结构上是相同的,但是简单地具有来自同一应用的不同实例的不同数据集。我想将所有数据合并到一个数据库中。
答
使用mongorestore。
仅当您指定--drop参数时才覆盖集合。所以如果你什么都不做,它只会添加新的元素(因此做你想做的事)。
如果您具有相同的_id
元素,则可能会出现唯一的问题,在这种情况下,它将忽略它们。
如果恢复到现有的数据库,mongorestore只会插入 到现有的数据库,不进行任何形式的更新。 如果现有文档在目标 数据库和集合中具有相同的值_id字段,mongorestore将不会覆盖那些 文档。