1 安裝MongoDB.Driver
2 建立數(shù)據(jù)庫(kù)連接
創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括古田網(wǎng)站建設(shè)、古田網(wǎng)站制作、古田網(wǎng)頁(yè)制作以及古田網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專(zhuān)注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,古田網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到古田省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
#mongodb://127.0.0.1:27017
MongoClient client = new MongoClient(“連接字符串”);
3 獲取數(shù)據(jù)庫(kù)
var database = client.GetDatabase("數(shù)據(jù)庫(kù)");
4 獲取數(shù)據(jù)集 Collection
#如果數(shù)據(jù)是預(yù)先定義好的可以在<輸入數(shù)據(jù)的類(lèi)型> ,如果是沒(méi)有定義好的,可以使用BsonDocument類(lèi)型,BsonDocument表示沒(méi)有預(yù)定于的模式。
var collection = database.GetCollection<BsonDocument>(“集合”);
5 插入數(shù)據(jù)
#InsertOne(同步插入):
collection.InsertOne(document);
#InsertOneAsync(異步插入):
await collection.InsertOneAsync(document);
#如果想要插入多個(gè)數(shù)據(jù),可以使用 InsertMany 或 InsertManyAsync 方法。
6 查詢(xún)數(shù)據(jù)
#查找集合中的第一條數(shù)據(jù)
var document = collection.Find(new BsonDocument()).FirstOrDefault();
or
var filter = Builders<‘實(shí)體‘>.Filter.Empty;
var document = collection.Find<‘實(shí)體’>(filter).FirstOrDefault();
#查詢(xún)數(shù)數(shù)據(jù)集中的所有數(shù)據(jù)
var documents = collection.Find(new BsonDocument()).ToList();
or
var filter = Builders<‘實(shí)體‘>.Filter.Empty;
var document = collection.Find<‘實(shí)體’>(filter).ToList();
#用過(guò)濾器篩選獲取單個(gè)文檔
var filterBuilder = Builders<實(shí)體>.Filter;
7 更新文檔
#. Update.Set() 配合過(guò)濾器修改
var filter = Builders<MyData>.Filter.Where(s => s.Name == "AESCR")
& Builders<MyData>.Filter.Where(d => d.BooksArray.Any(x=>x.XXBooks.Any(y=>y.bookname=="netcore")));
var update = Builders<MyData>.Update.Set(d => d.BooksArray[0].XXBooks[0].bookname, "NetCore");
collection.UpdateOne(filter, update);
8 查詢(xún)
var result = collection.AsQueryable()
.Where(s => s.Name == "AESCR")
.SelectMany(s => s.BooksArray)
.Where(r => r.bookname == "C#");
var page = await _sensorNodes.AsQueryable()
// 查找對(duì)應(yīng)的sensorNode
.Where(s => s.Id == _sensorNodeId)
// 選擇Records內(nèi)嵌數(shù)組
.SelectMany(s => s.Records)
// 根據(jù)記錄時(shí)間排序
.OrderBy(r => r.RecorDateTime)
// 跳過(guò) index - 1頁(yè)數(shù)據(jù)
.Skip((index - 1) * size)
// 選取一頁(yè)數(shù)據(jù)
.Take(size)
// 轉(zhuǎn)換為集合
.ToListAsync();
9 刪除
# Update.PullFilter()方法 刪除過(guò)濾器刪除元素
var update = Builders<SensorNode>.Update.PullFilter(s => s.Records, r => r.Data == 339119843.0);
await _sensorNodes.UpdateOneAsync(s => s.Id == _sensorNodeId, update);
分享名稱(chēng):C#操作MongoDB
網(wǎng)頁(yè)網(wǎng)址:http://aaarwkj.com/article34/igjcpe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、網(wǎng)頁(yè)設(shè)計(jì)公司、品牌網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站維護(hù)、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)