zoukankan      html  css  js  c++  java
  • C# Asp.net中简单操作MongoDB数据库(一)

    需要引用MongoDB.Driver.dll、MongoDB.Driver.core.dll、MongoDB.Bson.dll三个dll。

    1、数据库连接:

    public class MongoDb
        {
            //方式一
            //private static readonly string connStr = "mongodb://myAdmin:123456@localhost";
            //private static readonly string dbName = "myTest";
    
            //方式二(myTestAdmin用户只可访问数据库myTest)
            private static readonly string connStr = "mongodb://myTestAdmin:123456@localhost/myTest";
    
            private static IMongoDatabase db = null;
    
            private static readonly object lockHelper = new object();
    
            private MongoDb() { }
    
            public static IMongoDatabase GetMongoDb()
            {
                if (db == null)
                {
                    lock (lockHelper)
                    {
                        if (db == null)
                        {
                            //方式一
                            //var client = new MongoClient(connStr);
                            //db = client.GetDatabase(dbName);
    
                            //方式二(myTestAdmin用户只可访问数据库myTest)
                            var url = new MongoUrl(connStr);
                            MongoClientSettings mcs = MongoClientSettings.FromUrl(url);
                            mcs.MaxConnectionLifeTime = TimeSpan.FromMilliseconds(1000);
                            var client = new MongoClient(mcs);
                            db = client.GetDatabase(url.DatabaseName);
                        }
                    }
                }
                return db;
            }
        }

    2、插入操作:

    class Program
        {
            static void Main(string[] args)
            {
                IMongoDatabase db = MongoDb.GetMongoDb();
    
                var collection = db.GetCollection<BsonDocument>("userInfo");            
    
                //插入
                var document = new BsonDocument
                {
                    { "name", "Liming" },
                    { "age", "23" },
                    { "score", new BsonDocument
                        {
                            { "yuwen", 115 },
                            { "shuxue", 135 },
                            { "yingyu", 120 }
                        }}
                };
                collection.InsertOne(document);            
    
                Console.ReadKey();
            }
        }

    Robomongo中查看结果:

    3、查询操作:

    class Program
        {
            static void Main(string[] args)
            {
                IMongoDatabase db = MongoDb.GetMongoDb();
    
                var collection = db.GetCollection<BsonDocument>("userInfo");            
                
                //查询            
                var document = collection.Find(new BsonDocument()).FirstOrDefault();
                Console.WriteLine(document.ToString());
                
    
                Console.ReadKey();
            }
        }

    4、更新操作:

    class Program
        {
            static void Main(string[] args)
            {
                IMongoDatabase db = MongoDb.GetMongoDb();
    
                var collection = db.GetCollection<BsonDocument>("userInfo");            
                
                //更新
                var filter = Builders<BsonDocument>.Filter.Eq("age", "23");
                var update = Builders<BsonDocument>.Update.Set("age", "30");
                collection.UpdateOne(filter, update);
                
                Console.ReadKey();
            }
        }

    5、删除操作:

     class Program
        {
            static void Main(string[] args)
            {
                IMongoDatabase db = MongoDb.GetMongoDb();
    
                var collection = db.GetCollection<BsonDocument>("userInfo");            
                
                //删除
                var filter1 = Builders<BsonDocument>.Filter.Eq("age", "30");
                collection.DeleteOne(filter1);
    
                Console.ReadKey();
            }
        }

    参考:http://mongodb.github.io/mongo-csharp-driver/2.5/getting_started/quick_tour/

    上面操作的集合类型都是BsonDocument,

    下面可以自定义实体类,mongodb可以直接返回对应自定义类的集合或者对象:

    C# Asp.net中简单操作MongoDB数据库(二)

  • 相关阅读:
    Matlab中tic和toc用法
    matlab 哪个函数可以从一组数据中随机抽取一部分出来
    matlab中rep函数的用法
    WinCE平台搭建数据库(wince6.0+vs2008+sqlce)熙熙
    熙熙如何在WinCE里上QQ(天嵌WinCE开发板,PocketPC仿真模拟器,QQ)
    数学建模方法灰色预测法
    数学建模方法层次分析法
    数学建模方法多属性决策模型
    数学建模方法Floyd算法
    数学建模方法Dijkstra算法
  • 原文地址:https://www.cnblogs.com/qk2014/p/9258666.html
Copyright © 2011-2022 走看看