C# 对MongoDB 进行增删改查的简单操作

时间:2021-11-01 11:41:50

C# 对MongoDB 进行增删改查的简单操作

下面演示下C#操作MongoDB驱动的简单的增删改查代码

运用到的MongoDB支持的C#驱动,当前版本为1.6.0

1,连接数据库

        /// <summary>
/// 数据库连接
/// </summary>
private const string conn = "mongodb://127.0.0.1:27017";
/// <summary>
/// 指定的数据库
/// </summary>
private const string dbName = "mongodb_name";
/// <summary>
/// 指定的表
/// </summary>
private const string tbName = "table_text";
     //创建数据连接
MongoServer server = MongoServer.Create(conn);
//获取指定数据库
MongoDatabase db = server.GetDatabase(dbName);
//获取表
MongoCollection col = db.GetCollection(tbName);

2、插入数据

因为MongoDB没有表的概念,所以自插入数据之前定义好自己的数据模型

User.cs

下面是添加数据的代码

        /// <summary>
/// 添加
/// </summary>
/// <param name="text">内容</param>
/// <param name="articleId">文章ID</param>
/// <param name="channelId">频道ID</param>
/// <returns></returns>
public static void Add(User t)
{
//创建数据连接
MongoServer server = MongoServer.Create(conn);
//获取指定数据库
MongoDatabase db = server.GetDatabase(dbName);
//获取表
MongoCollection col = db.GetCollection(tbName);
//插入
col.Insert(t); }

3、删除操作

        /// <summary>
/// 根据ObjectID 删除
/// </summary>
/// <param name="objId"></param>
public static void Delete(string objId)
{
//创建数据连接
MongoServer server = MongoServer.Create(conn);
//获取指定数据库
MongoDatabase db = server.GetDatabase(dbName);
//获取表
MongoCollection<User> col = db.GetCollection<User>(tbName); IMongoQuery query = Query.EQ("_id", new ObjectId(objId)); col.Remove(query);
}

4、修改

        /// <summary>
/// 根据ObjectID 修改
/// </summary>
public static void Update(User t)
{
//创建数据连接
MongoServer server = MongoServer.Create(conn);
//获取指定数据库
MongoDatabase db = server.GetDatabase(dbName);
//获取表
MongoCollection<User> col = db.GetCollection<User>(tbName); BsonDocument bd = BsonExtensionMethods.ToBsonDocument(t); IMongoQuery query = Query.EQ("_id", t.Id); col.Update(query, new UpdateDocument(bd)); }

5、条件查询(简单)

        /// <summary>
/// 根据ObjectID 查询
/// </summary>
public static User TuCao SelectOne(string objId)
{
//创建数据连接
MongoServer server = MongoServer.Create(conn);
//获取指定数据库
MongoDatabase db = server.GetDatabase(dbName);
//获取表
MongoCollection<User> col = db.GetCollection<User>(tbName);
//条件查询
return col.FindOne(Query.EQ("_id", new ObjectId(objId)));
}

6、查询全部

        /// <summary>
/// 查询所有
/// </summary>
public static void SelectAll()
{
List<User> list = new List<User>(); //创建数据连接
MongoServer server = MongoServer.Create(conn);
//获取指定数据库
MongoDatabase db = server.GetDatabase(dbName);
//获取表
MongoCollection<User> col = db.GetCollection<User>(tbName);
//查询全部
list.AddRange(col.FindAll()); //--------------------------------
foreach (User t in col.FindAll())
{
string id = t.Id.ToString();
string text = t.Text;
DateTime dt = t.Createdate;
}
}