在C#中使用MongoDB

一、添加MongoDB引用

想要在C#中使用MongoDB,首先得要有個MongoDB支持的C#版的驅動。

通過網絡下載或nuget安裝,得到MongoDB相關的dll,添加到項目中引用。這裏介紹下通過NuGet方式添加

第一步:在項目中右鍵,選擇管理NuGet管理包

第二步:搜索MongoDB,選擇MongoDB.Driver添加,我這裏已經添加過了所以沒有添加按鈕

通過這兩步,會在項目中自動添加MongoDB.Bson、MongoDB.Driver、MongoDB.Driver.Core等引用

MongoDB.Driver.dll:顧名思義,驅動程序

MongoDB.Bson.dll:序列化、Json相關

二、連接數據庫

在連接數據庫之前,請確保MongoDB數據庫服務已經啓動。

1.連接字符串(mongodb數據庫默認端口爲:27017)

string connStr =“mongodb://127.0.0.1:27017”;

2.數據庫名稱

string dbname="MongoDBDemo";

3.創建連接

var client = new MongoDB.Driver.MongoClient(connStr);

4.獲取數據庫

IMongoDatabase db = client.GetDatabase(dbname);

三、插入數據

在MongoDB中沒有表的概念,所以在插入數據之前不需要創建表。

但我們需要定義好要插入的數據的實體模型,MongoDB會自動根據實體生成表。

1.定義MongoBaseEntity接口

public interface MongoBaseEntity
{
ObjectId Id { get; set; }
string Creator { get; set; }
string CreateDate { get; set; }
string LastEditer { get; set; }
string LastEditDate { get; set; }
string SystemName { get; }
string EX { get; set; }
string IP { get; }
}

2.定義User類,繼承MongoBaseEntity接口

public class User : MongoBaseEntity
{
public ObjectId Id { get; set; }
public string Name { get; set; }
public string Sex { get; set; }
public string Address { get; set; }
public string Age { get; set; }
public string Creator { get; set; }
public string CreateDate { get; set; }
public string LastEditer { get; set; }
public string LastEditDate { get; set; }
public string SystemName
{
get
{
return "測試";
}
}
public string IP
{
get
{
return GetIp();
}
}
public string EX { get; set; }
private string GetIp()
{
if (HttpContext.Current.Request.ServerVariables.Get("Remote_Addr") == null)
return "";
var IP = HttpContext.Current.Request.ServerVariables.Get("Remote_Addr").ToString();
return IP;
}
}

注意:Id 必須要有,且爲ObjectId 類型,否則在更新數據時會報錯:“Element '_id' does not match any field or property of class”。

3.添加操作

public void Add()
{

string connStr =“mongodb://127.0.0.1:27017”;

string dbname="MongoDBDemo";

var client = new MongoDB.Driver.MongoClient(connStr);

IMongoDatabase db = client.GetDatabase(dbname);

MongoCollection collection= db.GetCollection("User");

User MongodbLog = new User();

MongodbLog.Id=ObjectId.GenerateNewId();
MongodbLog.Name = "測試信息name";
MongodbLog.EX = "錯誤信息";
MongodbLog.Sex = “男”;
MongodbLog.Address = “北京市”;
MongodbLog.Age = “228”;
MongodbLog.Creator = “liusqd”;

MongodbLog.CreateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
MongodbLog.LastEditDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
collection.InsertOneAsync(MongodbLog);
}

4.查看結果

四、MongoDB工具下載鏈接

https://robomongo.org/downloa

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章