C#操作Mongodb
<p>但是对于更新后的版本网上资料更多是针对老版本,有些API在新版本中是被废弃掉的。本文将介绍C#如何对window下Mongodb3.4进行简单的增删改查。</p><p>1、下载Mongodb,下载地址如下:</p>
<p>https://www.mongodb.com/download-center?jmp=nav#community</p>
<p>安装成功后(我这里是安装在D盘),需要在D盘中(如果安装在C盘,就在C盘中)创建一个Data文件夹,然后在Data文件夹中新建一个db文件夹,如下图所示:</p>
<p><img src="https://img2018.cnblogs.com/blog/876586/201910/876586-20191025091506765-1518056077.png"></p>
<p> </p>
<p> </p>
<p><br>2、运行Mongodb服务</p>
<p>在Mongodb文件夹bin中,可以找到mongod.exe(服务端)和mongo.exe(客户端),我们需要用cmd以管理员身份运行mongod.exe,运行结果如图所示:</p>
<p>这样Monodb服务就开启成功(mongodb默认分配的端口号都是27017)</p>
<p>我们再以相同的方式运行mongo.exe,运行结果如图所示:</p>
<p> <img src="https://img2018.cnblogs.com/blog/876586/201910/876586-20191025091521592-924574607.png"></p>
<p> </p>
<p> </p>
<p>Mongodb服务器显示连接上来的客户端信息。</p>
<p> </p>
<p> </p>
<div id="cnblogs_post_body" class="blogpost-body">
<div class="postBody">
<div>
<p>运用到的MongoDB支持的C#驱动,当前版本为1.6.0</p>
<p>1,连接数据库</p>
<div class="cnblogs_code">
<div class="cnblogs_code_toolbar"> </div>
<pre> /// <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);</pre>
<div class="cnblogs_code_toolbar"> </div>
</div>
<p> </p>
<p> 2、插入数据</p>
<p>因为MongoDB没有表的概念,所以自插入数据之前定义好自己的数据模型</p>
<p>User.cs</p>
<p>下面是添加数据的代码</p>
<div class="cnblogs_code">
<div class="cnblogs_code_toolbar"> </div>
<pre> /// <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);
}</pre>
<div class="cnblogs_code_toolbar"> </div>
</div>
<p>3、删除操作</p>
<div class="cnblogs_code">
<div class="cnblogs_code_toolbar"> </div>
<pre> /// <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);
}</pre>
<div class="cnblogs_code_toolbar"> </div>
</div>
<p>4、修改</p>
<div class="cnblogs_code">
<div class="cnblogs_code_toolbar"> </div>
<pre> /// <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));
}</pre>
<div class="cnblogs_code_toolbar"> </div>
</div>
<p>5、条件查询(简单)</p>
<div class="cnblogs_code">
<div class="cnblogs_code_toolbar"> </div>
<pre> /// <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)));
}</pre>
<div class="cnblogs_code_toolbar"> </div>
</div>
<p>6、查询全部</p>
<div class="cnblogs_code">
<div class="cnblogs_code_toolbar"> </div>
<pre> /// <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;
}
}</pre>
<div class="cnblogs_code_toolbar"> </div>
</div>
<p> </p>
</div>
</div>
</div>
<p>转载于:https://www.cnblogs.com/liaocheng/p/5087453.html</p>
<p><br> <br>原文链接:https://blog.csdn.net/m0_37044279/article/details/76863470</p><br><br>
来源:https://www.cnblogs.com/lhxsoft/p/11736260.html
頁:
[1]