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

  • 相关阅读:
    升级Nginx1.14.1以上版本
    MaxScale中间件部署数据库读写分离
    php文件锁解决少量并发问题
    使用mysql悲观锁解决并发问题
    配置和查看composer镜像
    PHP常用的 五种设计模式及应用场景
    全球免费公共 DNS 解析服务器 IP 地址列表推荐 (解决无法上网/加速/防劫持)
    九种跨域方式实现原理
    Hadoop中RPC协议小例子报错java.lang.reflect.UndeclaredThrowableException解决方法
    DataNode启动不成功——java.net.BindException: Port in use: localhost:0 Caused by: java.net.BindException: Cannot assign requested address解决办法
  • 原文地址:https://www.cnblogs.com/94cool/p/6229301.html
Copyright © 2011-2022 走看看