9

我正在尝试从 C# 程序自动将 4 个集合从一个 Mongo 数据库复制到同一台机器上的另一个。我怎么做?MongoDB C# 驱动程序中是否有简单的复制集合/数据库命令?还是我必须先输入 ? 来使用 Mongo shell ./mongo?如果是这样,我如何在 MS-DOS 命令行窗口中执行此操作?喜欢./mongo -copycollection from to

4

2 回答 2

15

使用 mongodump,类型:

./mongodump --db your_db_name --collection collection_name  

然后是 mongorestore:

./mongorestore --db=new_db_name

阅读更多:mongodumpmongorestore

于 2012-09-25T23:04:19.610 回答
14

你可以使用mongodump 和 mongorestore

1-> 备份单个数据库
mongodump -h localhost -d database_name -o C:\DestinationFolder(备份到 DestinationFolder )

2-> 恢复数据库

mongorestore -h localhost C:\DestinationFolder (从 DestinationFolder 恢复)

或者

3->你可以一次备份和恢复一个集合

备份单个集合

mongodump -h localhost -d database_name -c Collection_name -o C:\Dest_SingleCollBkp

4->恢复单个集合

mongorestore -h localhost C:\Dest_SingleCollBkp

或者

5->你可以在当时复制一个集合

复制->

use source_database;
var docs = db.source_collection.find({ accessed: {
       '$gte': new Date(2012, 4, 1), '$lt': new Date(2012, 5, 1)
         } });   

过去-> :)

use new_database;
//switched to db new_database
 docs.forEach(function(doc) { db.new_collection.insert(doc) });

6->复制整个数据库

db.copyDatabase('from_database_name', 'to_databasename', 'from_hostname')
于 2012-09-26T01:36:15.493 回答