mongodb在C#的連接以及curd寫法
阿新 • • 發佈:2018-05-09
AD new 查詢 條件 date collect 連接數 tps setting
連接數據庫:參考地址:https://blog.oz-code.com/how-to-mongodb-in-c-part-2/
// Empty ctor will get you a // client with a default localhost and port #27017 MongoClient m = new MongoClient(); //---------------------------------------------------------------------- // Using a connection-stringMongoClient m1 = new MongoClient("mongodb://localhost:27017"); //---------------------------------------------------------------------- // Using MongoClientSettings MongoClient client = new MongoClient( new MongoClientSettings { Server = new MongoServerAddress("localhost", 27018), // Giving 3 seconds for a MongoDB server to be up before we throw ServerSelectionTimeout = TimeSpan.FromSeconds(3) }); //---------------------------------------------------------------------- // Using MongoUrl MongoClient client1 = newMongoClient( MongoUrl.Create("mongodb://localhost:27017")); }
CURD:
MongoClient mongoClient = new MongoClient(configuration["DataBaseConnection:0:host"]); var dbAdmin = mongoClient.GetDatabase("shoppingMall"); var buyerCollection = dbAdmin.GetCollection<Buyer>("shoppingMall.buyer"); //新增 ////var a= buyerCollection.InsertOneAsync(new Buyer { buyerName="管理員", buyerAge=23, buyerAddress="江漢市天府大道067號", buyerSex=‘0‘, buyerIdCard="12355544884474", buyerHeadPortrait="~/images/admin.jpg", buyerAccountNumber="admin1" }); //查詢 //linq寫法 //var sql = from bb in buyerCollection.AsQueryable() // select bb; //sql= sql.Where(t => t.buyerAge >= 22); //var retlist = sql.ToList(); //ef寫法 //var ret = buyerCollection.AsQueryable().GroupBy(t=>new { t.buyerAge }).Where(t=>t.Key.buyerAge>=22); //var b = ret.ToList(); var filterBuilder = Builders<Buyer>.Filter; var filter = filterBuilder.Gt("buyerAge", 10) & filterBuilder.Lt("counter", 30) & filterBuilder.Lt("counter", 30);//多個條件 //var filter = Builders<Buyer>.Filter.Gt("buyerAge", 1);//一個條件 var document = await buyerCollection.FindAsync(filter); var res = document.ToList(); //更新 var updateFilter = filterBuilder.Gt("buyerAge", 20) & filterBuilder.Lt("buyerAge", 30);//多個條件 var updated = Builders<Buyer>.Update.Set("buyerName", "李四"); var result = buyerCollection.UpdateManyAsync(updateFilter, updated).Result; //刪除 var delFilter = filterBuilder.Gt("buyerAge", 20) & filterBuilder.Lt("buyerAge", 30);//多個條件 var resut = buyerCollection.DeleteManyAsync(delFilter).Result;
其中:
configuration["DataBaseConnection:0:host"]屬於。netcore的連接字符串寫法。具體實現如下:
appsettings.json:
"DataBaseConnection": [ { "host": "mongodb://localhost:27017" } ]
讀取方法:
public IConfigurationRoot configuration; public BaseController() { //讀取appsettings配置 var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json"); configuration = builder.Build(); }
mongodb在C#的連接以及curd寫法