ps:大二學生,寫寫只是為了記錄和發現,境界較低,不喜勿噴。
tips:假設你已經在 windows 下安裝好了 mongodb 並且開啟了資料庫服務。(也就是說,你的 mongodb 能在 mongo shell 裡跑了)
然後在**中新增一下**
using mongodb.driver
using mongodb.bson
mongoclient client;
mongodatabase database;
client = new mongoclient();
// 在shell下輸入db可以檢視當前正在使用的資料庫名稱
// 在shell下輸入show dbs 可以檢視當前所有的資料庫名稱
// 在shell下輸入show collections 可以檢視當前資料庫的所有collection
database = client.getdatabase(your_database);
至此,我們實際上已經連線好了本地的 mongodb 資料庫,不需要配置 ip 和 埠號,這裡這裡都是使用預設的(做 demo)
public static void insertbsondocument(string collectionname),,
,}}},
,,,,
},new bsondocument,,
}}},,
};// 插入資料
collection.insertone(document);
}
插入資料的基本思路很簡單,先使用 database.getcollection(collectionname);來獲取 collection 。之後就可以通過 insertone(document) 來插入資料了。
思路和上面的插入資料相同 , 也是先通過 getcollection來獲取 collection .然後查詢
返回全部的資料
public static async void querycollectionsome(string collectionname)}}
}
返回部分滿足條件的資料
public static async task> querycollection(string collectionname)
ps : c#訪問 bsondocument 是通過鍵值訪問的,如果 doc 是乙個 bsondocument 物件,而 name 是這個物件中的乙個鍵值,則 doc[name] 這可以訪問 name 對應的資料。ps : 其他查詢操作,比如 內嵌物件的查詢,物件中 array 中資料的查詢,包括多個 condition 查詢等,我在此就不一一列出了,可以參考:(官方文件
/// /// remove all documents that match a condition
///
///
///
public static async taskremovedatematched(string collectionname)
這裡,通過 filter 找到你要刪除的資料,然後呼叫 deletemanyasync 方法刪除資料。
database.dropcollectionasync(collectionname);
// 這個方法可以直接刪除乙個 collection
public static async taskupdateone(string collectionname)
)var update = builders.update
.set("cuisine", "american (new)")
.currentdate("lastmodified");
// 修改之前的值
var a = await collection.find(builders.filter.eq("borough", "manhattan")).tolistasync();
foreach (var item in a)
// 執行更新操作
var result = await collection.updateoneasync(filter, update);
console.writeline(result.modifiedcount);
a = await collection.find(builders.filter.eq("borough", "manhattan")).tolistasync();
// 顯示更新之後的值
foreach (var item in a)
return result;
}
這裡唯一不同的是 updateoneasync 這個函式有兩個引數,第乙個引數是我們通過 filter 查詢到的需要更改的資料文件,然後 第二個引數是我們設定的新的 物件的值。
至此,已通過 mongodb 官方**提供的驅動實現了基本對資料庫各種基本的操作,其餘方法等,等到了實際開發中再去發掘和使用。
Cython官方文件中文翻譯 使用C庫
cdef struct queue pass與ctypedef struct queue pass之間有乙個微妙的不同,前者宣告一種在c 中作為struct queue的型別,而後者在c 中引用為queue,這是cython無法隱藏的乙個c語言怪癖。大部分現代c庫使用ctypedef這類結構。pyx...
使用C 操作OpenLDAP
一 api選擇 當使用c 操作openldap時,在編譯的過程中會關閉 ldap deprecated 開關,導致所有deprecated的api都不能夠使用,報錯 ldap util.c 19 error ldap init undeclared first use this function l...
使用c 操作IBM WebSphere MQ
使用c 操作ibm websphere mq ibm websphere mq 5.3公升級到csd05之後,提供了使用.net操作mq的類庫,安裝完成之後,會在mq的安裝目錄的bin資料夾下面多出乙個amqmdnet.dll檔案,把這個dll作為引用新增到你的.net工程中,你的.net程式中就可...