MongoDB CRUD操作

using MongoDB.Bson;
using MongoDB.Driver;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Generic
{
    public class MongoDBDemo
    {
         // 定义接口
         protected static IMongoDatabase _database;
         // 定义客户端
         protected static IMongoClient _client;
         public static void GetData()
         {
             // 定义要查询的集合名称
             const string collectionName = "user";
             // 读取连接字符串
             string strCon = ConfigurationManager.ConnectionStrings["mongodbConn"].ConnectionString;
             var mongoUrl = new MongoUrlBuilder(strCon);
             // 获取数据库名称
             string databaseName = mongoUrl.DatabaseName;
             // 创建并实例化客户端
             _client = new MongoClient(mongoUrl.ToMongoUrl());
             //  根据数据库名称实例化数据库
             _database = _client.GetDatabase(databaseName);
             // 根据集合名称获取集合
             var collection = _database.GetCollection<BsonDocument>(collectionName);
             var filter = new BsonDocument();
             // 查询集合中的文档
             var list = Task.Run(async () => await collection.Find(filter).ToListAsync()).Result;
            // 循环遍历输出
            list.ForEach(p =>
            {
                Console.WriteLine("姓名:" + p["username"].ToString() + ",性别:" + p["sex"].ToString());
            });

            //collection.InsertOne();

            Console.ReadKey();
         }
        public void Mongo()
        {
            //建立连接
            var client = new MongoClient();
            //建立数据库
            var database = client.GetDatabase("TestDb");
            //建立collection
            var collection = database.GetCollection<BsonDocument>("foo");


            var document = new BsonDocument
            {
                {"name","MongoDB"},
                {"type","Database"},
                {"count",1},
                {"info",new BsonDocument{{"x",203},{"y",102}}}
            };
            //插入数据
            collection.InsertOne(document);


            var count = collection.CountDocuments(document);
            Console.WriteLine(count);


            //查询数据
            var document1 = collection.Find(document);
            Console.WriteLine(document1.ToString());


            //更新数据
            var filter = Builders<BsonDocument>.Filter.Eq("name", "MongoDB");
            var update = Builders<BsonDocument>.Update.Set("name", "Ghazi");


            collection.UpdateMany(filter, update);


            //删除数据
            var filter1 = Builders<BsonDocument>.Filter.Eq("count", 101);


            collection.DeleteMany(filter1);


            BsonDocument document2 = new BsonDocument();
            document2.Add("name", "MongoDB");
            document2.Add("type", "Database");
            document2.Add("count", "1");


            collection.InsertOne(document2);
        }
    }
}

 

posted @ 2020-12-27 01:08  竹林听雨行  阅读(90)  评论(0编辑  收藏  举报