ToServerSettings() 개인적인 메소드

private ToServerSettings ( ) : MongoServerSettings
리턴 MongoServerSettings
예제 #1
0
 /// <summary>
 /// Creates a new instance of MongoUrl.
 /// </summary>
 /// <param name="url">The URL containing the settings.</param>
 public MongoUrl(
     string url
 ) {
     var builder = new MongoUrlBuilder(url); // parses url
     serverSettings = builder.ToServerSettings().FrozenCopy();
     this.waitQueueMultiple = builder.WaitQueueMultiple;
     this.waitQueueSize = builder.WaitQueueSize;
     this.databaseName = builder.DatabaseName;
     this.url = builder.ToString(); // keep canonical form
 }
예제 #2
0
        // constructors
        /// <summary>
        /// Creates a new instance of MongoUrl.
        /// </summary>
        /// <param name="url">The URL containing the settings.</param>
        public MongoUrl(string url)
        {
            var builder = new MongoUrlBuilder(url); // parses url

            _serverSettings    = builder.ToServerSettings().FrozenCopy();
            _waitQueueMultiple = builder.WaitQueueMultiple;
            _waitQueueSize     = builder.WaitQueueSize;
            _databaseName      = builder.DatabaseName;
            _url = builder.ToString(); // keep canonical form
        }
 public static CountersDatabase Connect(string mongoUrl)
 {
     MongoUrlBuilder builder = new MongoUrlBuilder(mongoUrl);
     builder.SocketTimeout = new TimeSpan(0, 30, 0);
     //builder.Server = port.HasValue ? new MongoServerAddress(host, port.Value) : new MongoServerAddress(host);
     MongoServer server = MongoServer.Create(builder.ToServerSettings());
     server.Connect();
     MongoDatabase db = server.GetDatabase(builder.DatabaseName);
     return new CountersDatabase(server, db);
 }
예제 #4
0
        /// <summary>
        /// Creates a new instance of MongoUrl.
        /// </summary>
        /// <param name="url">The URL containing the settings.</param>
        public MongoUrl(
            string url
            )
        {
            var builder = new MongoUrlBuilder(url); // parses url

            serverSettings         = builder.ToServerSettings().Freeze();
            this.waitQueueMultiple = builder.WaitQueueMultiple;
            this.waitQueueSize     = builder.WaitQueueSize;
            this.databaseName      = builder.DatabaseName;
            this.url = builder.ToString(); // keep canonical form
        }
        public void BulkMongo(List<FlowControlOneMs> fcom)
        {
            var connectionString = "mongodb://localhost/?safe=true"; // TODO: make this configurable

            var mongoUrlBuilder = new MongoUrlBuilder(connectionString);
            var serverSettings = mongoUrlBuilder.ToServerSettings();
            if (!serverSettings.SafeMode.Enabled)
            {
                serverSettings.SafeMode = SafeMode.True;
            }

            var mongo = MongoServer.Create(serverSettings);
            var db = mongo["guangzhou_gb"];

            db.DropCollection("FlowControlOneMs");
            var collection = db["FlowControlOneMs"];

            collection.InsertBatch(fcom);
        }
예제 #6
0
        public static MongoCollection GetMongoCollection(string mongo_conn, string mongodb_collection_name, bool delete_col)
        {
            var connectionString = mongo_conn;

            var mongoUrlBuilder = new MongoUrlBuilder(connectionString);
            var serverSettings = mongoUrlBuilder.ToServerSettings();
            if (!serverSettings.SafeMode.Enabled)
            {
                serverSettings.SafeMode = SafeMode.True;
            }

            var mongo = MongoServer.Create(serverSettings);
            var db = mongo[ConfigurationManager.AppSettings[mongodb_collection_name].ToString()];

            if (delete_col == true)
                db.DropCollection(mongodb_collection_name);

            var collection = db[mongodb_collection_name];

            return collection;
        }
        public IQueryable<FlowControlOneMs> QueryMongo()
        {
            var connectionString = "mongodb://localhost/?safe=true"; // TODO: make this configurable

            var mongoUrlBuilder = new MongoUrlBuilder(connectionString);
            var serverSettings = mongoUrlBuilder.ToServerSettings();
            if (!serverSettings.SafeMode.Enabled)
            {
                serverSettings.SafeMode = SafeMode.True;
            }

            var mongo = MongoServer.Create(serverSettings);

            var db = mongo["guangzhou_gb"];
            var collection = db.GetCollection("FlowControlOneMs");

            var query = from p in collection.AsQueryable<FlowControlOneMs>()
                        select p;

            return query;
        }
예제 #8
0
        public static void test()
        {
            var connectionString = "mongodb://localhost/?safe=true"; // TODO: make this configurable

            var mongoUrlBuilder = new MongoUrlBuilder(connectionString);
            var serverSettings = mongoUrlBuilder.ToServerSettings();
            if (!serverSettings.SafeMode.Enabled)
            {
                serverSettings.SafeMode = SafeMode.True;
            }

            var mongo = MongoServer.Create(serverSettings);
            var db = mongo["csharpdriverunittests"];
            var collection = db["movies"];

            var movies = new List<Movie>
            {
            new Movie { Title="The Perfect Developer",
                    Category="SciFi", Minutes=118 },
            new Movie { Title="Lost In Frankfurt am Main",
                    Category="Horror", Minutes=122 },
            new Movie { Title="The Infinite Standup",
                    Category="Horror", Minutes=341 }
            };
            collection.InsertBatch(movies);

            string map = @"
            function() {
            var movie = this;
            emit(movie.Category, { count: 1, totalMinutes: movie.Minutes });
            }";

            string reduce = @"
            function(key, values) {
            var result = {count: 0, totalMinutes: 0 };

            values.forEach(function(value){
            result.count += value.count;
            result.totalMinutes += value.totalMinutes;
            });

            return result;
            }";

            string finalize = @"
            function(key, value){

              value.average = value.totalMinutes / value.count;
              return value;

            }";
            //var linq = from p in collection[""]
            //           select t;

            var options = new MapReduceOptionsBuilder();
            options.SetFinalize(finalize);
            options.SetOutput(MapReduceOutput.Inline);
            var results = collection.MapReduce(map, reduce, options);

            foreach (var result in results.GetResults())
            {
                Console.WriteLine(result.ElementAt(0).Name);
            }
        }
        public static void test()
        {
            var connectionString = "mongodb://localhost/?safe=true"; // TODO: make this configurable

            var mongoUrlBuilder = new MongoUrlBuilder(connectionString);
            var serverSettings = mongoUrlBuilder.ToServerSettings();
            if (!serverSettings.SafeMode.Enabled)
            {
                serverSettings.SafeMode = SafeMode.True;
            }

            var mongo = MongoServer.Create(serverSettings);
            var db = mongo["guangzhou_gb"];
            var collection = db["Gi_Get2x_Multi"];

            string map = @"
            function() {
            var abc = this;
            emit(abc.URI_Main, { count: 1, totalMinutes: 0,totalCount:0 });
            }

            }"
                ;

            string reduce = @"

            function(key, values) {
            var result = {count: 0, totalMinutes: 0,totalCount:0 };

            values.forEach(function(value){
            result.count += value.count;
            result.totalMinutes += value.totalMinutes ;

            });

            return result;
            }"
                ;

               //db.RunCommand
            var abbsum = db["Gi_Get2x_Multi"].FindAll().Count();

            string cmd = @"
                db.Gi_Get2x_Multi.aggregate([
             { $group: {_id:null,
            total:{$sum:'$Get2x'} } }
            ])
            ";
            //CommandResult cr = new CommandResult();
            var comd = db.RunCommandAs(typeof(CommandResult), cmd);

            string finalize = @"

            function(key, value){

            value.average =value.count / " +     comd.Response.AsBsonArray[0].ToString()+ @";
            value.totalCount=" + abbsum.ToString() + @"

              return value;

            }"
                ;

            //
            //var query=QueryBuilde
            IMongoSortBy abc = SortBy.Descending("value.count");
            IMongoQuery query=Query.EQ("value.count",1);
            //MapReduceOutput outname=

               // var abc = "{ \"sort\" : { \"value.count\" : 1} }";

            //MapReduceOutput out=new

            Console.WriteLine(abc.ToString());
            var options = new MapReduceOptionsBuilder();
            //options.SetScope(
            //options.SetQuery(query);//
               // options.SetSortOrder(abc);
            //options.SetLimit(2);
            //options.SetKeepTemp(true);
            options.SetFinalize(finalize);
            options.SetOutput("tempppp");

            var results = collection.MapReduce(map, reduce, options);

            Console.WriteLine(results.Command);
            //results.Command.ToString();

            // var resultss = results.GetResults().OrderByDescending(e => e.Elements.Select["count"]).Take(100);

            var resultss = db["tempppp"].FindAll().SetSortOrder(abc).SetLimit(10);
            //var resultss = results.GetResults().OrderByDescending(p => "value.count").Take(10);

            foreach (var result in resultss )
            {
                Console.WriteLine(result);
            }
        }