您好,登錄后才能下訂單哦!
1 安裝MongoDB.Driver
2 建立數據庫連接
#mongodb://127.0.0.1:27017
MongoClient client = new MongoClient(“連接字符串”);
3 獲取數據庫
var database = client.GetDatabase("數據庫");
4 獲取數據集 Collection
#如果數據是預先定義好的可以在<輸入數據的類型> ,如果是沒有定義好的,可以使用BsonDocument類型,BsonDocument表示沒有預定于的模式。
var collection = database.GetCollection<BsonDocument>(“集合”);
5 插入數據
#InsertOne(同步插入):
collection.InsertOne(document);
#InsertOneAsync(異步插入):
await collection.InsertOneAsync(document);
#如果想要插入多個數據,可以使用 InsertMany 或 InsertManyAsync 方法。
6 查詢數據
#查找集合中的第一條數據
var document = collection.Find(new BsonDocument()).FirstOrDefault();
or
var filter = Builders<‘實體‘>.Filter.Empty;
var document = collection.Find<‘實體’>(filter).FirstOrDefault();
#查詢數數據集中的所有數據
var documents = collection.Find(new BsonDocument()).ToList();
or
var filter = Builders<‘實體‘>.Filter.Empty;
var document = collection.Find<‘實體’>(filter).ToList();
#用過濾器篩選獲取單個文檔
var filterBuilder = Builders<實體>.Filter;
7 更新文檔
#. Update.Set() 配合過濾器修改
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 查詢
var result = collection.AsQueryable()
.Where(s => s.Name == "AESCR")
.SelectMany(s => s.BooksArray)
.Where(r => r.bookname == "C#");
var page = await _sensorNodes.AsQueryable()
// 查找對應的sensorNode
.Where(s => s.Id == _sensorNodeId)
// 選擇Records內嵌數組
.SelectMany(s => s.Records)
// 根據記錄時間排序
.OrderBy(r => r.RecorDateTime)
// 跳過 index - 1頁數據
.Skip((index - 1) * size)
// 選取一頁數據
.Take(size)
// 轉換為集合
.ToListAsync();
9 刪除
# Update.PullFilter()方法 刪除過濾器刪除元素
var update = Builders<SensorNode>.Update.PullFilter(s => s.Records, r => r.Data == 339119843.0);
await _sensorNodes.UpdateOneAsync(s => s.Id == _sensorNodeId, update);
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。