因為需要,寫了乙個基於泛型的helper,這樣要使用起來方便一點。
為了大家也不重複造輪子,所以發出來希望能幫到誰。
複雜的查詢最好用linq,這也是mongodb官方建議的。
這部分很多文章都提到了,需要注意的是用的驅動與你的mongodb版本還有你.net好像有點關係
我是mongodb-2.x,.net4,driver我用的是1.x系列
2.x系列好像我這種配置用不起,大家可以試一試,貌似要.net要4.5才行
這裡有個小坑,mongodb的資料庫連線字串和mysql是不一樣的,很多文章沒有提到完整的連線字串,花半天在官網上看到了
mongodb://username:password@myserver:port/databasename其他沒什麼,但請注意id、時間的型別,用的是mongdodb自己的資料型別
這裡用了乙個虛函式,是為了方便helper裡面用泛型獲取id
以下是model的原始碼
using system;因為mongodb的操作語句必須大量用到你的model,因此考慮用泛型來做helperusing system.collections.generic;
using system.linq;
using system.text;
using mongodb.driver;
using mongodb.bson;
public bsondatetime created_at
public bsondatetime updated_at
}public class accountmodel : mongomodel
public string name }}
用builder模式的原因無非是覺得好玩,你可以修改**用建構函式直接初始化
我也沒有用靜態方法,你有需要可以自己修改
以下是helper的原始碼
using system;很簡單,我寫在demo的form**裡了,注釋也寫的很清楚什麼流程using system.collections.generic;
using system.linq;
using system.text;
using system.io;
using system.xml;
using system.xml.serialization;
using mongodb.driver;
using mongodb.bson;
using mongodb.driver.builders;
namespace framework
/// /// 設定你的collection
///
public void setcollection()
/// /// 你用linq的時候會用到
///
public void getcollection()
/// /// 查詢
///
///
///
public t find(imongoquery query)
/*** 條件查詢用linq
* * */
public listfindall()
/// /// 修改
///
///
///
public long update(t model)
/// /// 新增
///
///
///
public bool insert(t model)
/// /// 刪除
///
///
///
public bool delete(t model)
/// /// 構造器
///
///
public void setconn(string conn)
public void setdbname(string dbname)
public void setcollectionname(string collectionname)
public mongohelperbuild()}}
}
1.設計好你的model
2.初始化資料庫配置
3.build乙個helper
4.呼叫方法
using system;using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.text;
using system.windows.forms;
using devcomponents.dotnetbar;
using system.io;
using framework;
void form2_activated(object sender, eventargs e)
}void init()
private void buttonx2_click(object sender, eventargs e)
private void buttonx1_click(object sender, eventargs e)}}
C 操作mongodb簡記
我只是想用mongodb來存系統日誌而已,只需要會插入和分頁查詢就好了 1.新建類 2.控制器頁面引入命名空間 3.簡單的插入和查詢分頁的 以上 是在.net core 2.1的 中驗證通過 2020年05月16日更新 把現有專案的原來是插 mysql裡的systemlog表,改為插 mongodb...
Mongodb 的C語言操作
現在mongodb 越來越流行,越來越多的公司在使用mongodb資料庫。而且為很多語言留下了介面。個人還是比較喜歡用c去操作各類流行的產品。準備檔案 參考文獻 main.c檔案 include include mongo.h int main char table test.people crea...
C 操作MongoDB幫助類
利用mongodb for c driver編寫訪問mongodb資料庫的幫助類。1 建立資料庫連線 獲取資料庫例項物件 資料庫連線串 資料庫名稱 資料庫例項物件 private static mongodatabase getdatabase string connectionstring,str...