MongoDB 导出、导入表
var srcTbl = "20161226";
var destTbl = "20161226-bak";
方式一:
MongoClient client;
MongoServer server;
MongoDatabase db;
MongoClientSettings setting = new MongoClientSettings();
setting.MaxConnectionPoolSize = 1000;
setting.MinConnectionPoolSize = 500;
client = new MongoClient(mongodb);
server = client.GetServer();
db = server.GetDatabase(database);
db.CreateCollection(destTbl);
db.GetCollection(srcTbl).FindAll().Foreach(doc =>
{
db.GetCollection(destTbl).Insert(doc); // start to replace
});
方式二:
Mongo目录下需文件:
libeay32.dll
mongoexport.exe
mongoimport.exe
ssleay32.dll
/// <summary>
/// 导出数据库到文件
/// </summary>
/// <param name="host">数据库地址</param>
/// <param name="username">数据库用户名</param>
/// <param name="password">数据库密码</param>
/// <param name="port">数据库端口号</param>
/// <param name="database">数据库名称</param>
/// <param name="table">数据表名</param>
/// <param name="filename">导出的文件</param>
void Export(string host, string username, string password, int port, string database, string table, string filename)
{
try
{
string arguments = string.Format(@"--host {0} --username {1} --password {2} --authenticationDatabase admin --port {3} --db {4} --collection {5} --out ""{6}""",
host, username, password, port, database, table, filename);
string fileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Mongo\mongoexport");
Process p = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo
{
FileName = fileName,
Arguments = arguments,
CreateNoWindow = true,
UseShellExecute = false
};
p.StartInfo = startInfo;
p.Start();
p.WaitForExit();
}
catch (Exception ex)
{
log.Error("Export error", ex, "流量数据存储服务", "Export Mongo", "", new LogMsg() { Key = "file", Value = filename });
}
}
/// <summary>
/// 文件导入到数据库
/// </summary>
/// <param name="host">数据库地址</param>
/// <param name="username">数据库用户名</param>
/// <param name="password">数据库密码</param>
/// <param name="port">数据库端口号</param>
/// <param name="database">数据库名称</param>
/// <param name="table">导入的数据表名</param>
/// <param name="filename">导入的文件</param>
void Import(string host, string username, string password, int port, string database, string table, string filename)
{
try
{
string arguments = string.Format(@"--host {0} --username {1} --password {2} --authenticationDatabase admin --port {3} --db {4} --collection {5} --file ""{6}""",
host, username, password, port, database, table, filename);
string fileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Mongo\mongoimport");
Process p = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo
{
FileName = fileName,
Arguments = arguments,
CreateNoWindow = true,
UseShellExecute = false
};
p.StartInfo = startInfo;
p.Start();
p.WaitForExit();
}
catch (Exception ex)
{
log.Error("Import error", ex, "流量数据存储服务", "Import Mongo", "", new LogMsg() { Key = "table", Value = table });
}
}
相关文章
- [转] mongoDB与mongoose
- Connect to MongoDB
- MongoDB 设置参数
- MongoDB insert performance rapidly dropping
- mongodb查询文档内部属性以及数组
- mongodb和redis设计原理简析
- 【Database】MongoDB教程
- 《Hadoop实战手册》一1.9 使用Pig从HDFS导出数据到MongoDB
- MongoDB安装和使用,MongoDB Like查询,Or查询,分页查询
- MongoDB数据库备份与还原、单表的导入导出
- Spring Data MongoDB example with Spring MVC 3.2
- mongodb索引添加、查看、导出、删除
- Java操作Mongodb 保存/读取java对象到/从mongodb
- MongoDB 操作手冊CRUD 删除 remove
- asp.net(C#) 中 怎么使用 MongoDb
- windows php7 安装 mongodb 扩展
- MongoDB-$unwind操作符-展开
- MongoDB-多表关联查询($lookup)
- MongoDB 数据库勒索,中国受害者数量超乎你的想象,SOS!