zoukankan      html  css  js  c++  java
  • 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, @"Mongomongoexport");

                    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, @"Mongomongoimport");
                    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 });
                }
            }

  • 相关阅读:
    防止跨域(jsonp详解)
    java-文件和I/O
    spring-AOP框架(基于AspectJ注解配置AOP)
    @RequestMapping、@Responsebody、@RequestBody和@PathVariable详解(转)
    spring-IOC容器(三)
    spring-IOC容器(二)
    spring-IOC容器(一)
    Spring4相关jar包介绍(转)
    Eclipse设置自动提示(转)
    java-环境安装及配置
  • 原文地址:https://www.cnblogs.com/94cool/p/6229301.html
Copyright © 2011-2022 走看看