来自DOS或Windows的MongoDB命令

ief*_*fpw 6 mongodb mongodb-.net-driver

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

yak*_*xxx 13

使用mongodump,类型:

./mongodump --db your_db_name --collection collection_name  
Run Code Online (Sandbox Code Playgroud)

然后是mongorestore:

./mongorestore --db=new_db_name
Run Code Online (Sandbox Code Playgroud)

阅读更多:mongodumpmongorestore


mon*_*top 12

你可以使用mongodump和mongorestore

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

2->恢复数据库

mongorestore -h localhost C:\DestinationFolder (来自DestinationFolder的Restor)

要么

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

备份一个集合

mongodump -h localhost -d database_name -c Collection_name -o C:\Dest_SingleCollBkp
Run Code Online (Sandbox Code Playgroud)

4->恢复单个集合

mongorestore -h localhost C:\Dest_SingleCollBkp
Run Code Online (Sandbox Code Playgroud)

要么

5->您可以在此时复制单个集合

复制 - >

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

过去 - > :)

use new_database;
//switched to db new_database
 docs.forEach(function(doc) { db.new_collection.insert(doc) });
Run Code Online (Sandbox Code Playgroud)

6-> 复制整个数据库

db.copyDatabase('from_database_name', 'to_databasename', 'from_hostname')
Run Code Online (Sandbox Code Playgroud)