【问题标题】:How to merge two databases of mongoDB present in two different computers?如何合并存在于两台不同计算机中的两个 mongoDB 数据库?
【发布时间】:2015-09-17 03:47:03
【问题描述】:

我正在使用 mongoDB 来存储特定网站的数据。由于我们两个人都在工作,所以我们使用自己的电脑来完成这项工作。两台计算机都有一个数据库website_data 和该数据库中的一个集合webpages。现在进行一些分析和绘制图表,我需要在一台 PC 中获取全部数据。如何结合两个数据库?我想写一个脚本,但我不知道如何连接到另一台计算机的数据库。是否有一些数据库文件可以直接复制到我的电脑上?

【问题讨论】:

    标签: python mongodb mongo-collection


    【解决方案1】:

    您可以使用命令行工具mongodumpmongorestore 执行此操作。

    在源计算机上使用mongodump --db [dbname] 将数据库的所有集合导出到存储在目录dump/[collection].bson 中的文件中。将文件复制到目标计算机,然后使用mongorestore --db [dbname] [collection].bson 将生成的文件导入统一数据库。内容将附加到现有集合中,就像您使用 insert 命令一样。

    当您想像高级系统管理员一样进行操作时:两个命令行工具都有命令行选项来在远程系统上执行上述操作,并且您可以将 mongodump 的输出直接通过管道传输到 mongorestore,所以当您想炫耀时可以使用来自远程系统的一个控制台命令来完成。但是,当这是一次性的事情并且命令行技巧不是您的热情时,请坚持使用文件。

    【讨论】:

    • 好奇两个具有相同_id的文档是否会导致错误,被视为同一个文档,因此被忽略、合并等等
    • @Augie Gardner:我有同样的问题,但似乎 mongodump 丢弃了所有索引。 docs.mongodb.com/v4.2/reference/program/mongodump 的文档说:mongodump output only captures the documents in the database and does not include index data.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    相关资源
    最近更新 更多