感恩节几月几日,铜材,手机铃声下载排行榜
官网按需下载, 安装, 一步到位.
创建一个.netcore console项目, 然后nuget安装驱动mongodb.driver
在program.main函数中添加代码
var client = new mongoclient("mongodb://127.0.0.1:27017"); var database = client.getdatabase("foo"); var collection = database.getcollection<bsondocument>("bar");
三个对象, client是连接数据库的客户端, database对应库, collection是对象集合.
对对象的操作是争对collection来的.
var document = new bsondocument { { "name", "测试数据1" }, { "type", "大类" }, { "number", 5 }, { "info", new bsondocument { { "x", 111 }, { "y", 222 } }} }; collection.insertone(document);
同理还有insertmany(), 鉴于vs高超的智能提示, 一目了然.
上一步插入之后, 通过find将它查找出来
find()需要一个filter参数, 根据条件查询
collection.find(builders<bsondocument>.filter.empty);
上述表示无条件查询, matches everything.
如果有条件的话, 可以从builders<bsondocument>.filter中选择, 比如eq为相等, lt为小于, gt大于...顾名思义. 基于vs强大的智能提示, 非常清晰.
举例条件查询:
collection.find(builders<bsondocument>.filter.eq("name", "测试数据1") & builders<bsondocument>.filter.lt("number", 6));
多项条件之间的与或关系, 对应使用&和|符号
collection.updatemany(builders<bsondocument>.filter.eq("name", "测试数据1"), builders<bsondocument>.update.set("number", 6));
更新使用updatemany(), 同样支持条件从builders<bsondocument>.filter中获取.
更新支持添加新的field, 如:
collection.updatemany(builders<bsondocument>.filter.eq("name", "测试数据1"), builders<bsondocument>.update.set("number2", 666));
collection.deletemany()
其他几个api大同小异
不要引入json.net(newtonsoft.json)
扩展函数:
entity.tobsondocument()
通常是在find的时候吧, ifindfluent.as<tentity>()转就可以了.
var result = collection .find((builders<bsondocument>.filter.lt("number",999) & builders<bsondocument>.filter.gt("number", 110)) & builders<bsondocument>.filter.eq("name", "测试数据1"))
.orderby(x=>x["number"])//排序 .skip(10)//跳过 .limit(10)//限制
.as<bar>()//m=>o .tolist();//像极了linq吧?
如果不是呢?
var entity = bsonserializer.deserialize<bar>(bson);
用到的自定义class大概长这样:
public class bar { public objectid _id { get; set; } public string name { get; set; } public string type { get; set; } public int number { get; set; } public int number2 { get; set; } public barinfo info { get; set; } public class barinfo { public int x { get; set; } public int y { get; set; } } }
mongodb对程序员是极友好的, 可以动态变化的结构, 让程序员不再害怕频繁变动的需求.
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
asp.net搭建博客,使用BlogEngine.NET+MySql搭建博客
网友评论