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

来源:互联网 发布:淘宝如何解除实名认证 编辑:程序博客网 时间:2024/05/19 13:43

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

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<TestObject> _test;               public TestService()        {            _test = new MongoHelper<TestObject>();        }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<TestObject>().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<TestObject> GetTestObjectList(string name)        {            return _test.Collection.AsQueryable<TestObject>().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文件全都做,我们使用操作的时候很方便。

0 0
原创粉丝点击