c# 实现mongodb的增、删、改、查

本节介绍简单的增删改查操作,首先作为程序员还是直接上代码来的直接点,

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MongoDB.Bson;
using MongoDB.Driver.Builders;
using MongoDB.Driver.Linq;
namespace MyMongo.DataService
{
    public class TestService
    {
        private readonly MongoHelper _test;
       
        public TestService()
        {
            _test = new MongoHelper();
        }
		
	private int GetId()
	{
	   //按自己的逻辑实现新增数据的ID获取
	    return 0;
	}
       
	//新增数据
        public void AddTest(TestObject test)
        {
            if (test.ID == 0)
                test.ID = GetId();
            var query = new BsonDocument()
            {
                {"_id",test.ID},
                {"Name",test.Name},
                {"Description",test.Description}
            };
            _test.Collection.Insert(query);
        }

        //删除数据,mongo中删除后就再也找不到
        public void RemoveTest(int Id)
        {
            var query = Query.EQ("_id", Id);
           _test.Collection.Remove(query);
        }
		
		//linq方式查询数据
        public TestObject GetTestByLinq(int Id)
        {
            return _test.Collection.AsQueryable().Where(o => o.ID == Id).FirstOrDefault();
        }
    
	public TestObject GetTest(int Id)
        {
	   var query = Query.EQ("_id", Id);
            return  _test.Collection.FindOne(query);
        }
		
		//linq方式查询数据返回list,也可以用Find
        public List GetTestObjectList(string name)
        {
            return _test.Collection.AsQueryable().Where(o => o.Name == name).ToList();
        }

		//更新数据
        public void UpdateTestObject(TestObject test)
        {
            var query = Query.EQ("_id", test.ID);
            var update = Update.Set("Name", devCompany.CompanyName)
                .Set("Description", devCompany.Description);
            _test.Collection.Update(query, update);
        }
      
    }
}

整个实现就是linq或类似调用EF的操作,其他的操作mongo的两个dll文件全都做,我们使用操作的时候很方便。

你可能感兴趣的:(MongoDB,mongodb)