将MongoDB数据从登台服务器移动到生产

时间:2011-01-13 12:09:28

标签: mongodb nosql

我在登台服务器上的集合中有500,000个文档,我需要将这些文档移动到生产服务器。

移动此数据的最佳方法是什么,我可以让mongodb将其从分段复制到生产,移动数据文件还是导出并重新导入?

5 个答案:

答案 0 :(得分:13)

  • 转储集合

      

    mongodump -d dbname -c collectionname

    在Windows机器上,这将在带有bson文件的Mongo'data'文件夹下创建一个转储文件夹

  • 要在远程主机上恢复

      

    mongorestore -h hostname -d dbname -c collectionname dump \ dbname \ collectionname.bson

答案 1 :(得分:9)

看看mongodump和mongorestore工具。如果您只想要集合中的某些文档,可以使用--query参数。

答案 2 :(得分:3)

您还可以从控制台或应用程序中运行db.copyDatabase命令。

http://docs.mongodb.org/manual/tutorial/copy-databases-between-instances/

答案 3 :(得分:0)

简单。

在目标服务器> mongo shell>运行

db.copyDatabase( source_db_name, destination_db_name, source_hostname, username, password)

答案 4 :(得分:-1)

数据文件不是每个集合,因此如果要复制集合而不是完整数据库,那么这些文件就不存在了。如果是每个数据库,您可以正常复制数据库文件。我不确定32位对64位...但我猜你是64位,如果你运行MongoDB。

现在,如果两者都存在集合并且需要合并,那么要非常小心以保持_id唯一。 mongoimport / mongoexport是你的朋友。