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 });
            }
        }

时间: 2024-10-02 09:09:07

MongoDB 导出、导入表的相关文章

oracle中导出导入表以及数据

Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中.利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用.执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于 在oracle 8i 中安装目录\ora81\BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出.oracl

用命令从mysql中导出/导入表结构及数据

在命令行下mysql的数据导出有个很好用命令mysqldump,它的参数有一大把,可以这样查看:mysqldump最常用的:mysqldump -uroot -pmysql databasefoo table1 table2 > foo.sql这样就可以将数据库databasefoo的表table1,table2以sql形式导入foo.sql中,其中-uroot参数表示访问数据库的用户名是root,如果有密码还需要加上-p参数Eg: C:\Users\jack> mysqldump -uroo

mongodb导出导入

数据库都分为冷备份与热备份,所谓的冷备份就是停库,然后把数据拷贝:热备份就是使用相应工具,在数据库运行时做备份.每种库都会有自己的热备份工具,mongodb也不例外. mongodb的备份主要有热备和冷备. 一,冷备: 停止mongodb服务,直接copy数据目录:启动mongodb时,可以用--dbpath指定自己设置的数据库存储目录. 二,热备: 用mongodump来做MongoDB的库或表级别的热备份. 认识一下mongodump, [[email protected] mongodb]

Oracle导出导入表空间创建

//备份数据库前的sqlplus命令创建数据库dmp存入目录 sqlplus /nolog conn /as sysdba SQL> create or replace directory expdir as 'E:/Kxdb'; 目录已创建. cmd: // 导出数据库 expdp EMMS/EMMS123 directory=expdir dumpfile=EMMS2.dmp logfile=EMMS2.log // 导入dmp impdp EMMS/EMMS123 directory=ex

mysql导出/导入表结构以及表数据

导出: 命令行下具体用法如下:  mysqldump -u用戶名 -p密码 -d 数据库名 表名 脚本名; 1.导出数据库为dbname的表结构(其中用戶名为root,密码为dbpasswd,生成的脚本名为db.sql)    mysqldump -uroot -pdbpasswd -d dbname >db.sql; 2.导出数据库为dbname某张表(test)结构    mysqldump -uroot -pdbpasswd -d dbname test>db.sql; 3.导出数据库为

mysql大数据导出导入

1)导出 select * from users into outfile '/tmp/users.txt';或 select * from users where sex=1 into outfile '/tmp/users.txt'; 2)导入 load data from infile '/tmp/users.txt' into table users; 注意:此方法只能导出导入表数据,表结构需要另外处理.

mongodb 数据库操作--备份 还原 导出 导入

一,mongodump备份数据库 1,常用命令格 1 mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径 如果没有用户谁,可以去掉-u和-p. 如果导出本机的数据库,可以去掉-h. 如果是默认端口,可以去掉--port. 如果想导出所有数据库,可以去掉-d. 2,导出所有数据库 1 2 3 4 5 6 7 8 9 10 [[email protected] mongodb]# mongodump -h 127.0.0.1 -o /hom

mongodb 备份 还原 导出 导入

张映 发表于 2013-12-03 分类目录: nosql mongodb数据备份和还原主要分为二种,一种是针对于库的mongodump和mongorestore,一种是针对库中表的mongoexport和mongoimport. 一,mongodump备份数据库 1,常用命令格 mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径 如果没有用户谁,可以去掉-u和-p.如果导出本机的数据库,可以去掉-h.如果是默认端口,可以去掉--por

mongodb数据导入导出以及备份恢复

数据导出 mongoexport 假设库里有一张user 表,里面有2 条记录,我们要将它导出 > use my_mongodb switched to db my_mongodb > db.user.find(); { "_id" : ObjectId("4f81a4a1779282ca68fd8a5a"), "uid" : 2, "username" : "Jerry", "age

MongoDB的导入与导出

导入与导出可以操作本地的mongodb也可以是远程的mongodb,通用选项: -h host 主机 --port port 端口 -u username 用户名 -p password 密码 如果mongodb没有账户密码并且是从本地导可以忽略上面四个参数 导出: 使用mongodb/bin/mongoexport文件: cd /usr/local/mongodb ./bin/mongoexport -d shop -c order -f name,content -q '{_id:{$lte