一、添加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工具下载链接