MongoDB C# CRUD (3)

本文详细介绍了如何使用NuGet引入MongoDB,并通过代码示例展示了全局声明、实例化、批量插入、批量删除、修改和查询操作的实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题记:媳妇要求发上来。这篇我要上首页。

1,NuGet引入MongoDB。接着是命名空间

using MongoDB.Bson;
using MongoDB.Driver;
using MongoDB.Driver.Builders;
using MongoDB.Driver.Linq;

 2,全局声明

 
MongoDatabase mongo = new MongoClient(ConfigurationManager.AppSettings["PSConnStrMongoDB"]).GetServer().GetDatabase("psNew");
MongoCollection arts = null;

 3,实例化

arts = mongo.GetCollection<ArticleForMongo>("artNew");

 4,组织List,批插。过瘾的批插

List<ArticleForMongo> artIns = ai.Select(e => new ArticleForMongo
{
	IntArticleID = Convert.ToInt32(e.IntArticleID),
	...
        IntFree = Convert.ToInt32(e.IntFree)

}).ToList();

//批插
arts.InsertBatch(typeof(ArticleForMongo), artIns);

 

5,组织ID List,批删

foreach (ArticleList ali in ad)
 {
     sd.Append(ali.IntArticleID + ",");
 }
 DeleteArticle(sd.ToString().TrimEnd(','));

    批删

List<IMongoQuery> listQuery = new List<IMongoQuery>();
string[] aidList = aid.Split(','); 
foreach (string id in aidList)
{
      listQuery.Add(Query.EQ("_id", Convert.ToInt32(id))); 
}
IMongoQuery query = Query.Or(listQuery);
WriteConcernResult result = arts.Remove(query);
bool bl = result != null && result.Ok;

 6,改

            	public bool UpdateArticle(ArticleForMongo arm)
		{
			IMongoQuery query;
			query = Query.And(Query.EQ("_id", arm.IntArticleID));
			BsonDocument bsonDocument = arm.ToBsonDocument<ArticleForMongo>();
			bsonDocument.Remove("_id");

			var update = new UpdateDocument { { "$set", bsonDocument } };
			WriteConcernResult result = arts.Update(query, update);

			bool bl = result != null && result.Ok;

			//if (bl)
			//{
			//	Common.AppendTxtFile(opearFilePath, "修改成功 ID:" + arm.IntArticleID);
			//}
			if (!bl)
			{
				Common.AppendTxtFile(opearFilePath, "修改失败 ID:" + arm.IntArticleID);
			}
			return bl;
		}

 7,查

 8,索引

 9,性能优化

....

 

转载于:https://www.cnblogs.com/recordman/p/4568168.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值