MongoDB(三)
来源:互联网 发布:淘宝购物车源代码 编辑:程序博客网 时间:2024/06/02 07:41
MongoDB(三) .net开发入门驱动实践
一.MongoDB for .net 驱动选择
第一款:官方驱动:https://github.com/samus/mongodb-csharp 应用广泛,更新速度比较快,也加入了对linq的支持
第二款:https://github.com/samus/mongodb-csharp/downloads 提供了丰富的linq操作,相当方便
第三款:NoRM 项目地址:http://github.com/atheken/NoRM 加入了对强类型的支持,是对一的补充
第四款:simple-mongodb 项目地址:http://code.google.com/p/simple-mongodb 以JSON为核心
驱动很多不一一罗列,在本章我们使用第二款。
二:实践
1.新建console项目,首先引用我们下载的启动
2.新建MainClass,其中代码如下:
public class MainClass { private IMongoCollection<Document> categories; private Mongo mongo; private IMongoDatabase simple; public void Setup() { //从配置文件读取链接字符串 IP+端口 var connstr=System.Configuration.ConfigurationSettings.AppSettings["ConnectionStringName"]; if(string.IsNullOrEmpty(connstr)) throw new ArgumentNullException("Connection string not found."); //创建Mongo数据服务及连接 mongo=new Mongo(connstr); mongo.Connect(); //获取数据库实例(如果该实例不存,就自动创建simple实例) simple=mongo["simple"]; //获取表名(如果该表名不存在,就会自动创建Categories表名) categories=simple.GetCollection<Document>("categories"); //添加记录前清除所有记录 Clean(); var names=new []{"Judy", "BOB", "Ricky", "Alice", "Mary", "Linda"}; //循环插入记录document会自动生成键值_id,id的编码体现了数据的插入顺序 foreach(var name in names) categories.Insert(new Document{{"name",name}}); } public void Clean() { //删除document name 为Jazz的记录 //categories.Remove(new Document{{"name","Jazz"}}); //删除所有记录集 categories.Remove(new Document()); } public void Run() { //查找单条记录 参数类型为Document var category=categories.FindOne(new Document{{"name","Judy"}}); Console.WriteLine("The id findOne"+category["_id"]); //更新1 用键值ID读取对象,并更新字段值,保存 var selector=new Document{{"_id",category["_id"]}}; category["name"]="Judy1"; categories.Save(category); Console.WriteLine("Category after one update " + categories.FindOne(selector)); //更新2 Update参数1去更新参数2并保存 category["name"]="Judy2"; categories.Update(category,selector); Console.WriteLine("Category after two updates " + categories.FindOne(selector)); //Find it by _id that has been vonverted to a string now. var id=(category["_id"]).ToString(); Console.WriteLine("输出所有对象......"); using(var all=categories.Find(new Document())) { foreach(var doc in all.Documents) Console.WriteLine(doc.ToString()); } mongo.Disconnect(); } }3.Program.cs 执行代码
static void Main(string[] args) { var main = new MainClass(); main.Setup(); main.Run(); Console.ReadLine(); }4.执行
参考:http://www.cnblogs.com/huangxincheng/archive/2012/03/09/2386054.html
&http://www.cnblogs.com/mecity/archive/2011/06/12/MongoDB.html
0 0
- mongodb(三)
- MongoDB(三)
- mongodb源码分析(三)
- MongoDB学习笔记《三》
- mongodb学习(三)
- MongoDB学习笔记<三>
- Mongodb 学习总结《三》
- MongoDB学习三
- Mongodb学习笔记(三)
- 三分钟了解mongodb
- MongoDB(三)索引
- MongoDB学习三
- Mongodb概述(三)
- mongoDB学习笔记三
- 白话MongoDB(三)
- 三、安装MongoDB
- MongoDB笔记三
- mongoDB 查询(三)
- 命名空间的解释
- Install the clients
- 【蓝桥杯】:李白打酒问题(递归重做)
- 分析一次springmvc的执行过程,springmvc如何处理请求
- Redis学习手册(事务)
- MongoDB(三)
- [iPhone] 开发过程中的一些小技术的总结
- struts2使用Filter作为Control实现sevlet转发功能
- 改进网站设计的免费jQuery插件Top 7
- 无缝广告轮播的制作有哪些技术实现
- Xutils上传图片(2)
- [CTF]2015华山杯网安比赛-密码算法分析
- 关于eclipse无法连接到手机的问题
- 根据面试官的思考方向而学习