我在登台服务器上的集合中有500,000个文档,我需要将这些文档移动到生产服务器。
移动此数据的最佳方法是什么,我可以让mongodb将其从分段复制到生产,移动数据文件还是导出并重新导入?
答案 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是你的朋友。