C# 对MongoDB 进行增删改查的简单操作实例
时间:2022-03-07 14:10:26
运用到的MongoDB支持的C#驱动,当前版本为1.6.0
下载地址:https://github.com/mongodb/mongo-csharp-driver/downloads
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 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 (TuCao t in col.FindAll())
{
string id = t.Id.ToString();
string text = t.Text;
DateTime dt = t.Createdate;
}
}
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
老生常谈Java String字符串(必看篇)
Android UI实现底部切换标签fragment
![](https://img.aspxhome.com/file/2023/2/110682_0s.jpg)
JavaWeb Servlet生命周期细枝末节处深究
Spring P标签的使用详解
c#扫描图片去黑边(扫描仪去黑边)
java实现微信红包 拼手气红包
![](https://img.aspxhome.com/file/2023/3/67113_0s.jpg)
JAVA编程不能不知道的反射用法总结
java中Integer包装类装箱的一个细节详解
深入解析Java接口(interface)的使用
Android滑动拼图验证码控件使用方法详解
![](https://img.aspxhome.com/file/2023/8/113278_0s.jpg)
Java class文件格式之特殊字符串_动力节点Java学院整理
Java 8 lambda表达式引入详解及实例
Java之SpringBean生命周期问题理解
关于Mybatis插入对象时空值的处理
C#对称加密(AES加密)每次生成的结果都不同的实现思路和代码实例
Windows下Java环境配置的超详细教程
![](https://img.aspxhome.com/file/2023/4/62154_0s.jpg)
java 反射机制详解及实例代码
在.NET中读取嵌入和使用资源文件的方法
![](https://img.aspxhome.com/file/2023/0/80050_0s.gif)
Flutter WillPopScope拦截返回事件原理示例详解
详解kafka中的消息分区分配算法
![](https://img.aspxhome.com/file/2023/3/78223_0s.png)