zoukankan      html  css  js  c++  java
  • MongoDB C# CRUD (3)

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

    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,性能优化

    ....

  • 相关阅读:
    HDOJ 5294 Tricks Device 最短路(记录路径)+最小割
    国家人工智能(AI)的美好前景
    预防埃博拉病毒感染的试验疫苗投入人体试验
    MySQL同步复制搭建方法指南详细步骤
    正则表达式,用相反的方式过滤掉特殊字符
    Linux入门教程
    Linux:-bash: ***: command not found
    linux命令大全
    linux下打开、关闭tomcat,实时查看tomcat运行日志
    chmod u+x ./j2sdk-1_4_2_04-linux-i586.bin的含义
  • 原文地址:https://www.cnblogs.com/recordman/p/4568168.html
Copyright © 2011-2022 走看看