MongoDB 导出、导入表
2016-12-28 14:17
225 查看
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 });
}
}
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的基本操作以及数据的导入导出,备份和恢复
- MongoDB 导出和导入命令的使用
- mongoDB的基本操作以及数据的导入导出,备份和恢复
- mongodb下数据的导出和导入
- MongoDB数据库的文件备份恢复以及文件导入导出
- mongodb的导入导出方法
- MongoDB数据导出导入工具
- MongoDB导入导出以及数据库备份
- mongodb数据导入导出以及备份恢复
- mongodb 导入导出GridFS
- MongoDB数据库的文件备份恢复以及文件导入导出
- mongodb数据导入导出mongoexport/mongoimport
- mongodb 数据导入和导出
- MongoDB备份、还原、导出、导入、克隆操作示例
- MongoDB 导出导入备份恢复数据详解及实例
- mongodb的导出导入备份和恢复(全)
- mongodb 数据库操作--备份 还原 导出 导入
- mongodb导出导入
- mongodb命令行导入导出表数据
- MongoDB数据导入和导出