博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MongoDB简单使用 —— 基本操作
阅读量:6365 次
发布时间:2019-06-23

本文共 1610 字,大约阅读时间需要 5 分钟。

本身MongoDB直接支持的是Bson文档,Bson文档在C#的官方驱动中对应的是BsonDocument类:

var bsonDoc = new BsonDocument() { ["_id"] = "123", ["Name"] = "Jack", ["Age"] = 32, };

由于Bson和Json本身非常类似,所以它和Json一样,和.net对象之间互相转换是非常容易的。

public class Person { public string Id { get; set; } = "123"; public string Name { get; set; } public int Age { get; set; } } var person = BsonSerializer.Deserialize
(bsonDoc); var doc = person.ToBsonDocument();

MongoDB本身的增删改查都是直接针对Bson文档进行的:

var collection = database.GetCollection
("foo"); collection.InsertOne(bsonDoc);

但为了使用方便,也可以使用强类型的集合。

var collection = database.GetCollection
("foo"); var person = new Person() { Id = "365", Name = "Jack", Age = 32, }; //插入 collection.InsertOne(person); //查询 collection.Find(i => i.Name == "Jack"); //更新 collection.ReplaceOne(i => i.Id == "365", person); //删除 collection.DeleteOne(i => i.Id == "365");

由于支持Linq,用起来还是非常方便的。当然,也可以使用MongoDb本身的查询功能。

//查询 result = collection.Find(Builders
.Filter.Eq(i=>i.Name, "Jack")).ToList(); //更新 collection.ReplaceOne(Builders
.Filter.Eq(i => i.Id, "365"), person); //更新部分字段 collection.UpdateOne(Builders
.Filter.Eq(i => i.Id, "365"), Builders
.Update.Set(i => i.Age, 30)); //删除 collection.DeleteOne(Builders
.Filter.Eq(i => i.Id, "365"));

甚至的,如果也可以使用MongDB的命令,也可以直接使用Mongo命令,更加简洁。

//查询 result = collection.Find("{ Name: 'Jack' }").ToList(); //更新 collection.UpdateOne("{Name: 'Jack' }", "{$set:{'Age':'37'}}"); //删除 collection.DeleteOne("{Name: 'Jack' }");

这种方式类似Sql,非常简洁,但是失去了类型检查,至于如何使用,则需要看具体场合了。

 

参考文档:

 

转载地址:http://yrama.baihongyu.com/

你可能感兴趣的文章
Django使用网上模板做个能展示的博客
查看>>
基于同IP不同端口,同端口不同Ip的虚拟主机 基于FQDN的虚拟主机
查看>>
项目软件集成三方模块,编译中int32和uint32定义冲突解决方法
查看>>
StretchDIBits速度测试(HALFTONE)
查看>>
在.NET Workflo“.NET研究”w 3.5中使用多线程提高工作流性能
查看>>
验证Oracle处理速度
查看>>
自己写一个jquery
查看>>
BGP聚合attribute-map
查看>>
艾伟:C#中抽象类和接口的区别
查看>>
Flink - NetworkEnvironment
查看>>
BZOJ4374 : Little Elephant and Boxes
查看>>
【.Net Framework 体积大?】不安装.net framework 也能运行!?开篇叙述-1
查看>>
LLDP协议、STP协议 笔记
查看>>
如何使用 GroupBy 计数-Count()
查看>>
有了这个课件制作工具,还怕备课有难题?
查看>>
jquery之clone()方法详解
查看>>
Delphi 用文件流读取文本文件字符串的方法
查看>>
php中怎么导入自己写的类
查看>>
C# 委托
查看>>
Using Information Fragments to Answer the Questions Developers Ask
查看>>