c 使用官方驅動操作mongodb資料庫

2021-07-09 04:50:53 字數 2646 閱讀 5040

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程式中就可...