Exemple #1
0
        private void button2_Click(object sender, EventArgs e)
        {
            List <users> listModel = new List <users>();

            int count = 500000;

            for (int i = 0; i < count; i++)
            {
                users model = new users();

                model.id         = i.ToString();
                model.name       = "mongodb";
                model.password   = "******";
                model.age        = i;
                model.createtime = DateTime.Now;
                listModel.Add(model);
            }

            var database = new GetMongoDB().GetDB();
            IMongoCollection <users> collection = database.GetCollection <users>("users");
            Stopwatch sw = new Stopwatch();

            sw.Start();
            collection.InsertMany(listModel);
            sw.Stop();
            var    temp = sw.Elapsed;
            string time = "使用mongodb批量插入50W数据总耗时为:" + temp.ToString();

            Console.WriteLine(time);
        }
Exemple #2
0
        private void button10_Click(object sender, EventArgs e)
        {
            var database = new GetMongoDB().GetDB();
            IMongoCollection <users> collection = database.GetCollection <users>("users");

            int       count = 10;
            int       n     = 1000;
            Stopwatch sw    = new Stopwatch();

            Task[] tasks = new Task[n];
            sw.Start();

            for (int i = 0; i < n; i++)
            {
                tasks[i] = Task.Factory.StartNew(() =>
                {
                    for (int j = 0; j < count; j++)
                    {
                        users model = new users()
                        {
                            id         = Guid.NewGuid().ToString(),
                            name       = "mongodb",
                            password   = "******",
                            age        = i,
                            createtime = DateTime.Now
                        };
                        collection.InsertOne(model);
                    }
                });
                //Thread newThread = new Thread(() => {
                //    lock (o2)
                //    {
                //        for (int j = 0; j < count; j++)
                //        {
                //            users model = new users()
                //            {
                //                id = Guid.NewGuid().ToString(),
                //                name = "mongodb",
                //                password = "******",
                //                age = i,
                //                createtime = DateTime.Now
                //            };
                //            collection.InsertOne(model);
                //        }
                //    }
                //});

                //newThread.Start();
            }
            Task.WaitAll(tasks);
            sw.Stop();
            var    temp = sw.Elapsed;
            string time = "1000个并发连接对非关系型数据库mongodb批量插入1W数据总耗时为:" + temp.ToString();

            Console.WriteLine(time);
        }
Exemple #3
0
        private void Delete_Click(object sender, EventArgs e)
        {
            var database = new GetMongoDB().GetDB();
            IMongoCollection <users> collection = database.GetCollection <users>("users");
            DeleteResult             result     = collection.DeleteOne <users>(t => t.id == "45");

            if (result.DeletedCount > 0)
            {
                MessageBox.Show("删除成功");
            }
            else
            {
                MessageBox.Show("删除失败");
            }
        }
Exemple #4
0
        private void button8_Click(object sender, EventArgs e)
        {
            var database = new GetMongoDB().GetDB();
            IMongoCollection <users> collection = database.GetCollection <users>("users");
            Stopwatch sw = new Stopwatch();

            sw.Start();
            var result = collection.Find <users>(t => t.id == "9999");

            sw.Stop();
            var    temp = sw.Elapsed;
            string time = "使用mongodb查询100W数据总耗时为:" + temp.ToString();

            Console.WriteLine(time);
        }
Exemple #5
0
        private void Query_Click(object sender, EventArgs e)
        {
            var database = new GetMongoDB().GetDB();
            IMongoCollection <users> collection = database.GetCollection <users>("users");

            try
            {
                var    result = collection.Find <users>(t => t.id == "45").FirstOrDefault();
                string name   = result.name.ToString();
                MessageBox.Show(name);
            }
            catch (Exception)
            {
                MessageBox.Show("查询失败");
            }
        }
Exemple #6
0
        private void Update_Click(object sender, EventArgs e)
        {
            var database = new GetMongoDB().GetDB();
            IMongoCollection <users> collection = database.GetCollection <users>("users");
            UpdateDefinition <users> definition = "{$set:{'name':'更新测试','password':'******','age':32,'createtime':'" + DateTime.Now + "'}}";
            var result = collection.UpdateOne <users>(t => t.id == "45", definition);

            if (result.ModifiedCount > 0)
            {
                MessageBox.Show("更新成功");
            }
            else
            {
                MessageBox.Show("更新失败");
            }
        }
Exemple #7
0
        private void button7_Click(object sender, EventArgs e)
        {
            var database = new GetMongoDB().GetDB();
            IMongoCollection <users> collection = database.GetCollection <users>("users");
            UpdateDefinition <users> definition = "{$set:{'name':'mongodbupdate','password':'******','age':32,'createtime':'" + DateTime.Now + "'}}";
            Stopwatch sw = new Stopwatch();

            sw.Start();
            var result = collection.UpdateOne <users>(t => t.id == "9999", definition);

            sw.Stop();
            var    temp = sw.Elapsed;
            string time = "使用mongodb单条更新100W数据总耗时为:" + temp.ToString();

            Console.WriteLine(time);
        }
Exemple #8
0
        private void button12_Click(object sender, EventArgs e)
        {
            List <users> listModel = new List <users>();
            int          count     = 1000;

            for (int j = 0; j < count; j++)
            {
                users model = new users();
                model.id         = Guid.NewGuid().ToString();
                model.name       = "mongodb";
                model.password   = "******";
                model.age        = j;
                model.createtime = DateTime.Now;
                listModel.Add(model);
            }

            var database = new GetMongoDB().GetDB();
            IMongoCollection <users> collection = database.GetCollection <users>("users");

            int       n  = 100;
            Stopwatch sw = new Stopwatch();

            Task[] tasks = new Task[n];
            sw.Start();

            for (int i = 0; i < n; i++)
            {
                tasks[i] = Task.Factory.StartNew(() =>
                {
                    foreach (var item in listModel)
                    {
                        lock (o1)
                        {
                            collection.InsertOne(item);
                        }
                    }
                });
            }
            Task.WaitAll(tasks);
            sw.Stop();
            var    temp = sw.Elapsed;
            string time = "100个并发连接对非关系型数据库mongodb批量插入100W数据总耗时为:" + temp.ToString();

            Console.WriteLine(time);
        }
Exemple #9
0
        private void Insert_Click(object sender, EventArgs e)
        {
            var   database = new GetMongoDB().GetDB();
            users model    = new users()
            {
                id         = "45",
                name       = "form窗体测试新增",
                password   = "******",
                age        = 24,
                createtime = DateTime.Now
            };
            IMongoCollection <users> collection = database.GetCollection <users>("users");

            try
            {
                collection.InsertOne(model);
                MessageBox.Show("新增成功");
            }
            catch (Exception)
            {
                MessageBox.Show("新增失败");
            }
        }