• C# 对MongoDB数据库进行增删该


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using MongoDB.Driver;
    using MongoDB.Bson;

    namespace mangodb
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            private void btn_import_Click(object sender, EventArgs e)
            {
                //MongoDB服务器连接串
                string connectionString = "mongodb://localhost:27017";
                MongoServer server = MongoServer.Create(connectionString);
                //连接到 mongodb_c_demo 数据库
                MongoDatabase db = server.GetDatabase("mongodb_c_demo");
                //获取集合 fruit
                MongoCollection collection = db.GetCollection("websiteUrl");
                inserData(collection);

                //查询所有
                //collection.FindAllAs(Type.get);

                //MongoCursor cur =   collection.FindAllAs(Type.d
                //while(cur. ()) {
                // System.out.println(cur.next());
                //}




                //以上代码完成的就是向fruit表中插入2条数据,用mysql的语法解释即
                //insert into mongodb_c_demo.fruit (name, color)
                //values ('apple', 'red'), ('banana', 'yellow');
            }


            private void btn_sel_Click(object sender, EventArgs e)
            {
                //MongoDB服务器连接串
                string connectionString = "mongodb://localhost:27017";
                MongoServer server = MongoServer.Create(connectionString);
                //连接到 mongodb_c_demo 数据库
                MongoDatabase db = server.GetDatabase("mongodb_c_demo");
                //获取集合 fruit
                MongoCollection collection = db.GetCollection("websiteUrl");
                selectAll(collection);
            }



            private void btn_del_Click(object sender, EventArgs e)
            {
                //MongoDB服务器连接串
                string connectionString = "mongodb://localhost:27017";
                MongoServer server = MongoServer.Create(connectionString);
                //连接到 mongodb_c_demo 数据库
                MongoDatabase db = server.GetDatabase("mongodb_c_demo");
                //获取集合 fruit
                MongoCollection collection = db.GetCollection("websiteUrl");
                delData(collection);
            }



            private void btn_update_Click(object sender, EventArgs e)
            {
                //MongoDB服务器连接串
                string connectionString = "mongodb://localhost:27017";
                MongoServer server = MongoServer.Create(connectionString);
                //连接到 mongodb_c_demo 数据库
                MongoDatabase db = server.GetDatabase("mongodb_c_demo");
                //获取集合 fruit
                MongoCollection collection = db.GetCollection("websiteUrl");
                update(collection);
            }


            private void btn_docToDatabase_Click(object sender, EventArgs e)
            {

            }



            /// <summary>
            /// 插入数据
            /// </summary>
            /// <param name="collection"></param>
            private void inserData(MongoCollection collection)
            {

                //创建对象 fruit_1
                BsonDocument fruit_1 = new BsonDocument
                {
                  { "_id", 10001 },               
                  { "website", "http://www.my400800.cn " },
                  { "name", "400电话" },
                  { "count", 10 },
                  { "time", DateTime.Now }
                };
                //创建对象 fruit_2
                BsonDocument fruit_2 = new BsonDocument
                {
                  { "_id", 10002 },               
                  { "website", "http://www.hrxc.net " },
                  { "name", "华仁信诚" },
                  { "count", 20 },
                  { "time", DateTime.Now }

                };
                //将对象 fruit_1 放到集合 fruit 中
                collection.Insert(fruit_1);
                //将对象 fruit_2 放到集合 fruit 中
                collection.Insert(fruit_2);

            }

            /// <summary>
            /// 数据检索
            /// </summary>
            /// <param name="coll"></param>
            private void selectAll(MongoCollection coll)
            {


                News firstNews = coll.FindOneAs<News>();
                //查找第一个文档
                QueryDocument query = new QueryDocument();
                //定义查询文档
                query.Add("_id", 10001);
                query.Add("count", 10);
                MongoCursor<News> qNews = coll.FindAs<News>(query);
                foreach (News oneRecGouRu in qNews)
                {
                    Console.WriteLine(oneRecGouRu.name.ToString()+"\r\n");
                }
             

                BsonDocument bd = new BsonDocument();
                //定义查询文档 count>2 and count<=4
                bd.Add("$gt", 2);
                bd.Add("$lte", 10);
                QueryDocument query_a = new QueryDocument();
                query_a.Add("count", bd);

                FieldsDocument fd = new FieldsDocument();
                fd.Add("_id", 0);
                fd.Add("count", 1);
                fd.Add("time", 1);

                MongoCursor<News> mNewss = coll.FindAs<News>(query_a).SetFields(fd);
                //只返回count和time
                var time = BsonDateTime.Create(Convert.ToDateTime("2011/09/05 23:26:00"));
                BsonDocument db_t = new BsonDocument();
                db_t.Add("$gt", time);
                QueryDocument qd_3 = new QueryDocument();
                qd_3.Add("time", db_t);

                MongoCursor<News> mNkews = coll.FindAs<News>(qd_3);

            }

            /// <summary>
            /// 删除数据
            /// </summary>
            /// <param name="coll"></param>
            private void delData(MongoCollection coll)
            {
                QueryDocument query_a = new QueryDocument();
                query_a.Add("count", 10);
                coll.Remove(query_a);
               
            }


            private void update(MongoCollection coll)
            {
                News customer = new News();
                customer.name = "呼叫中心";
                customer.website = "http://www.hrxc.net";
                customer.time = DateTime.Now;
                  //查找第一个文档
                QueryDocument query = new QueryDocument();
                IList<BsonElement> elements = new List<BsonElement>();
                //定义查询文档
                query.Add("_id", 10001);
                query.Add("count", 10);
                BsonDocument doc = BsonExtensionMethods.ToBsonDocument(customer);
                foreach (var item in doc.Elements) {
                    if (item.Value.IsBsonNull || item.Name=="_id")
                    {
                        elements.Add(item);
                    }
                }

                foreach (var el in elements) {
                    doc.RemoveElement(el);
                }

                var update = new UpdateDocument(doc);
                coll.Update(query, update);

             //coll.Update(customer,(xw=>xw.name==''));
                //coll.Update(customer, (x => x. == customer.CustomerID));
            //coll.Update(null,IMongoUpdate.
           
            }

          
      
           
        }

        public class News
        {

            public int _id { get; set; }
            public string website { get; set; }
            public string name { get; set; }
            public int count { get; set; }
            public DateTime time { get; set; }
          
        }
    }

  • 相关阅读:
    Atitit.eclise的ide特性abt 编译
    Atitit python3.0 3.3 3.5 3.6 新特性 Python2.7新特性1Python 3_x 新特性1python3.4新特性1python3.5新特性1值得关注的新特性1Pyth
    Atitit. Atiposter 发帖机 新特性 poster new feature   v7 q39
    Atitit.eclipse 4.3 4.4  4.5 4.6新特性
    atitit.错误:找不到或无法加载主类 的解决 v4 qa15.doc
    Atitit RSA非对称加密原理与解决方案
    Atitti.数字证书体系cer pfx attilax总结
    Atitit ftp原理与解决方案
    Atitit qzone qq空间博客自动点赞与评论工具的设计与实现
    Atitit 软件国际化原理与概论
  • 原文地址:https://www.cnblogs.com/jishu/p/2175376.html
Copyright © 2020-2023  润新知