1. 简介
MongoDB 是一个文档型 NoSQL 数据库,数据以类似 JSON 的文档形式存储。
https://www.mongodb.com/try/download/community
2. 安装
2.1. Windows 安装
官网下载安装包一路 Next 即可。留意一下数据文件和日志存放目录。
默认会安装 MongoDB Compass(IDE 管理工具),默认提供了几个 Database
3. NET 实践
NuGet 包:MongoDB.Driver
3.1. 插入数据
// 获取连接
var client = new MongoClient("mongodb://localhost:27017/");
// 写入数据(单挑)
client.GetDatabase("test").GetCollection("user").InsertOne(
new BsonDocument() {
{ "Id", "1" },
{ "Name", "Tom" }
}
);
// 写入数据(多条)
var users = new List()
{
new BsonDocument
{
{ "Id", "2" },
{ "Name", "Lucy" }
},
new BsonDocument
{
{ "Id", "3" },
{ "Name", "User03" }
}
};
3.2. 更新数据
// 更新数据(单条)
var filter = Builders.Filter.Eq("Name", "Tom");
var update = Builders.Update.Set("Name", "Tom_New");
client.GetDatabase("test").GetCollection("user").UpdateOne(filter, update);
// 更新数据(多体)
var filterMany = Builders.Filter.Eq("Name", "Tom");
var updateMany = Builders.Update.Set("Name", "Tom_Repeat");
client.GetDatabase("test").GetCollection("user").UpdateMany(filterMany, updateMany);
3.3. 删除数据
// 删除数据
var deleteFilter = Builders.Filter.Eq("Name", "User03");
client.GetDatabase("test").GetCollection("user").DeleteOne(deleteFilter);
3.4. 查询数据
// 查询数据
var collection = client.GetDatabase("test").GetCollection("user");
var filter = Builders.Filter.Gt("Id", "1");
var query1 = collection.Find(filter).FirstOrDefault();
Console.WriteLine($"Query by id: {query1["Id"]}");
var query2 = collection.Find(new BsonDocument()).ToList();
Console.WriteLine("Query all in a collection:");
foreach (var item in query2.ToList())
{
Console.WriteLine(item["Name"]);
}