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

  • 相关阅读:
    JavaScript
    HTML
    DockerDesktop安装mysql
    c语言ld returned 1 exit status😂
    eclipse项目导入idea jdk版本不一致😵
    markdown语法
    【Kali】Kali Linux更新5.2.9后 Vmware Workstation无法正常启动
    【NetDevOps】网络自动化运维--1获取用户基本信息
    【NetDevops】网络自动化运维--1获取用户基本信息
    Kali Linux中安装Python虚拟环境
  • 原文地址:https://www.cnblogs.com/94cool/p/6229301.html
Copyright © 2011-2022 走看看