用c 操作Mongodb 附demo

2021-09-08 22:52:03 字數 2743 閱讀 9106

因為需要,寫了乙個基於泛型的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;

using 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 }}

因為mongodb的操作語句必須大量用到你的model,因此考慮用泛型來做helper

用builder模式的原因無非是覺得好玩,你可以修改**用建構函式直接初始化

我也沒有用靜態方法,你有需要可以自己修改

以下是helper的原始碼

using system;

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()}}

}

很簡單,我寫在demo的form**裡了,注釋也寫的很清楚什麼流程

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...