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 导出、导入表的更多相关文章
- mongodb导出导入实例记录
mongodb导出导入实例记录 平时很用mongodb,所以用到了,就需要去网上搜索方法,干脆将自己的实际经历记录下来,方便日后使用. # 大致需求 源库:db_name_mongo 源IP:192. ...
- oracle中导出导入表以及数据
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中.利用 ...
- 用命令从mysql中导出/导入表结构及数据
在命令行下mysql的数据导出有个很好用命令mysqldump,它的参数有一大把,可以这样查看:mysqldump最常用的:mysqldump -uroot -pmysql databasefoo t ...
- oracle之PLSQL导出-导入-表-存储过程等操作--亲测好用
1.背景 实际开发中考虑到安全,不会将生产库的数据和本地开发数据进行同步操作,而是采用导入导出sql语句的方式操作; 例如在开发环境写好的存储过程要更新到生产环境,那么就需要使用导出和导入功能. 2. ...
- mongodb导出导入数据
在使用mongodump导出单个表的时候,遇到了一个错误 # mongodump --host xxx --port 27017 --username 'admin' -p '123456' -d 数 ...
- MongoDB导出-导入-迁移
linux环境下,将mongodb迁移到同机器,不同端口上. 命令参数: [mongodb@pera bin]$ ./mongodump --help Export MongoDB data to B ...
- mongodb导出数据表命令之mongoexport
mongoexport导出文件格式支持csv和json,不同的是csv格式必须显示的指定要导出的字段,如: mongoexport -d rbac -c rbacs -o d:/web/rbac.cs ...
- mysql导出/导入表结构以及表数据
导出: 命令行下具体用法如下: mysqldump -u用戶名 -p密码 -d 数据库名 表名 脚本名; 1.导出数据库为dbname的表结构(其中用戶名为root,密码为dbpasswd,生成的脚 ...
- Oracle导出导入表空间创建
//备份数据库前的sqlplus命令创建数据库dmp存入目录 sqlplus /nolog conn /as sysdba SQL> create or replace directory ex ...
- oracle按用户导出导入表
查看备份目录:select * from dba_directories where directory_name='DATA_PUMP_DIR'; 导入导出的文件名默认都是以备份目录为相对路径. 按 ...
随机推荐
- SQL Server中提前找到隐式转换提升性能的办法
http://www.cnblogs.com/shanksgao/p/4254942.html 高兄这篇文章很好的谈论了由于数据隐式转换造成执行计划不准确,从而造成了死锁.那如果在事情出现之前 ...
- centos下MYSQL 没有ROOT用户的解决方法。
SbTest for using sysbench creating scritps: sysbench --test=oltp --oltp-table-size=100000 --mysql-db ...
- Django admin美化插件suit应用[原创]
前言 由于比较懒,自己弄了一个用户验证,没有自己写后台,用了django自带的user认证,并通过admin直接进行管理,但默认的admin并不漂亮,于是使用了这个django-suit插件,效果对比 ...
- AC自动机-算法详解
What's Aho-Corasick automaton? 一种多模式串匹配算法,该算法在1975年产生于贝尔实验室,是著名的多模式匹配算法之一. 简单的说,KMP用来在一篇文章中匹配一个模式串:但 ...
- 详解web容器 - Jetty与Tomcat孰强孰弱
Jetty 基本架构 Jetty目前的是一个比较被看好的 Servlet 引擎,它的架构比较简单,也是一个可扩展性和非常灵活的应用服务器.它有一个基本数据模型,这个数据模型就是 Handler(处理器 ...
- [转载]iOS 10 UserNotifications 框架解析
活久见的重构 - iOS 10 UserNotifications 框架解析 TL;DR iOS 10 中以前杂乱的和通知相关的 API 都被统一了,现在开发者可以使用独立的 UserNotifica ...
- Nginx最大客户连接数算法一些遐想
Nginx最大客户连接数算法一些遐想 现在很多互联网公司都在使用nginx,并且替换掉以前的Apache,nginx的优点就不说了,浅聊两句nginx的某些配置参数,找到这些参数设置的目的和关联性,并 ...
- .NET文件并发与RabbitMQ(初探RabbitMQ)
本文版权归博客园和作者吴双本人共同所有.欢迎转载,转载和爬虫请注明原文地址:http://www.cnblogs.com/tdws/p/5860668.html 想必MQ这两个字母对于各位前辈们和老司 ...
- C#开发微信门户及应用(11)--微信菜单的多种表现方式介绍
在前面一系列文章中,我们可以看到微信自定义菜单的重要性,可以说微信公众号账号中,菜单是用户的第一印象,我们要规划好这些菜单的内容,布局等信息.根据微信菜单的定义,我们可以看到,一般菜单主要分为两种,一 ...
- Objective-c粒子动画
前面贴过几篇关于SpriteKit的案例文章,其中涉及到的动画都是材质类的图片切换或则常规的动画效果,没涉及到今天要说的粒子动画,今天说的粒子动画就是在游戏中实现更佳炫酷的效果必须使用的类,OC中粒子 ...