C#操作Mongodb
但是对于更新后的版本网上资料更多是针对老版本,有些API在新版本中是被废弃掉的。本文将介绍C#如何对window下Mongodb3.4进行简单的增删改查。
1、下载Mongodb,下载地址如下:
https://www.mongodb.com/download-center?jmp=nav#community
安装成功后(我这里是安装在D盘),需要在D盘中(如果安装在C盘,就在C盘中)创建一个Data文件夹,然后在Data文件夹中新建一个db文件夹,如下图所示:
2、运行Mongodb服务
在Mongodb文件夹bin中,可以找到mongod.exe(服务端)和mongo.exe(客户端),我们需要用cmd以管理员身份运行mongod.exe,运行结果如图所示:
这样Monodb服务就开启成功(mongodb默认分配的端口号都是27017)
我们再以相同的方式运行mongo.exe,运行结果如图所示:
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; } }
转载于:https://www.cnblogs.com/liaocheng/p/5087453.html
原文链接:https://blog.csdn.net/m0_37044279/article/details/76863470