c#开发Mongo笔记第一篇

:http://www.cnblogs.com/bjjjunjie/p/4076177.html

现在开发的这个项目要用mongo数据库开发,发现网上的这方面教程还是比较少的,只能边看官方说明边进行开发,再开发过程中写下笔记,也算上是一个总结吧。

我开发使用的是vs2013了,驱动用的是最新的1.9.2版本的

网上连接数据库的教程一搜一大堆,我就不多赘述了,只一个写一个连接数据库的方法吧

 1   protected void GetConnection()
 2         {
 3
 4             //定义Mongo服务
 5
 6             MongoServer mongo = MongoServer.Create("连接字符串");
 7
 8             //打开连接
 9
10             mongo.Connect();
11
12             //获得数据库cnblogs,若不存在则自动创建
13
14             MongoDatabase db = mongo.GetDatabase("test") as MongoDatabase;
15
16         }

查出来的是bsondoucment类型,一开始我在想,怎么和实体对象关联起来呢,走了很多弯路,后来看了别人的一篇文章才明白,原来查出来集合的时候是支持泛型的,使用泛型集合就可以直接关联到对象了,

  MongoCollection collection = db.GetCollection<User>("users");
            //  创建一个employee
            Chengji chengji = new Chengji();
            chengji.Yuwen = 74;
            chengji.Shuxue = 89;

            User employee = new User();
            employee.Name = "798";
            employee.chengji.Insert(chengji);
            //  把它写到上面那个集合里面去
            collection.Insert(employee);

这样就能把user这个实体对象插入到数据库了,User是我的一个实体类。一个简单的插入工作就做完了。

下一篇我将重点尝试如何把字段是一个collection集合的类插进数据库,刚刚在实际项目中使用,还望大家多多批评指正。

时间: 2024-12-31 08:37:06

c#开发Mongo笔记第一篇的相关文章

c#开发Mongo笔记第二篇

写到第二篇不得不说是我之前犯了一个小错误,其实实现子表存储也是很简单的事,先说我想实现什么样的效果吧 就是用户表里有个成绩字段,成绩字段是个子表 其实实现这个功能也很简单,用面向对象的思想很好理解,子表就是user表的一个对象字段或者集合字段,所以我觉得用c#开发Mongo用面向对象的思想开发更合适一些 public class User { public ObjectId Id { get; set; } public string Name { get; set; } public stri

c#开发Mongo笔记第九篇

用skip略过少量的文档还是不错的.但是要是数量非常多的话,skip就会变得很慢,因为要先找到需要被略过的数据,然后再抛弃这些数据.大多数数据库都会在索引中保存更多的元数据,用于处理skip, 但是mongoDB目前还不支持,所以要尽量避免略过太多的数据 .通常可以利用上次的结果来计算下一次的查询条件. 最简单的分页方法就是用limit返回结果的第一页,然后将每个后续页面作为相对开始的偏移量返回. 比如var page1=db.Log.find(query).skip(100).limit(10

Linux学习笔记——第一篇——Ubuntu安装与操作

笔者是Windows的使用者,由于Coding的需要以及在Linux下开发的方便,所以开始使用Linux. 当然笔者还是割舍不下Windows的,毕竟很多通讯工具等软件以及游戏在Linux下是没有发行的,所以笔者使用了虚拟机啊. 下面给出简单的安装过程. 1.下载虚拟机软件,笔者比较喜欢VMPlayer,因为它比较轻便且免费,并且很好的支持了拖拽复制功能(VM TOOL),当然也可以使用如VirtualBox.VPC等 链接:https://my.vmware.com/web/vmware/fr

《javascript权威指南》读书笔记——第一篇

<javascript权威指南>读书笔记--第一篇 金刚 javascript js javascript权威指南 由于最近想系统学习下javascript,所以开始在kindle上看这本书来补充下. 今天是今年的196天,由于我之前承诺过,每天分享读书笔记,只是之前分享的是大众读物,所以随手分享到kindle阅读群里了.但是现在读的是技术类书籍,分享到kindle读书群不太合适,所以还是以博客的形式分享.这样子,一个链接,大家感兴趣了就点开看看,不感兴趣了,就不点开. 其实这篇文章应该是昨天

iOS开发学习笔记:基础篇

iOS开发需要一台Mac电脑.Xcode以及iOS SDK.因为苹果设备都具有自己封闭的环境,所以iOS程序的开发必须在Mac设备上完成(当然,黑苹果应该也是可以的,但就需要花很多的精力去折腾基础环境),Xcode是一个集成开发环境,包括了编辑器.调试.模拟器等等一系列方便开发和部署的工具,iOS SDK则是开发应用所必需,不同的SDK分别对应不同的iOS版本或设备,通常我们需要下载多个iOS SDK以确保我们开发的程序能够在不同版本的iOS上正常运行. 创建新工程 Xcode提供了很多种工程模

Python全栈开发记录_第一篇

Python全栈开发记录只为记录全栈开发学习过程中一些难和重要的知识点,还有问题及课后题目,以供自己和他人共同查看.(代码行数:70行) 知识点1:优先级:not>and 短路原则:and:如果第一个条件的结论为假,那么 and 前后两个条件组成的表达式计算结果一定为假,后面的条件计算机不会进行计算 or:如果第一个条件的结论为真,那么or 前后两个条件组成的表达式计算结果一定为真,后面的条件计算机不会进行计算 知识点2:python区分大小写,常量需全部字母大写(默认这样写) python换行

c#开发Mongo笔记第八篇

到今天为止,Mongo开发的权限管理系统功能就做完了,剩下的就是完善构架,优化结构,只是现在c#操作Mongo的各种操作基本都掌握了 说到权限管理系统,其实再简单不过了,在关系型数据的是时代,我们通常建一个菜单表,菜单用内建来管理子菜单,然后再建一个角色表(或用户表),然后再建一个角色和菜单的对应关系表,存上菜单id和角色id的对应关系.当然了,方法很多,我只是 举了一个相对比较常见的设计方式. 用上Mongo之后我本来照搬以前的设计思路,完成了权限管理,完成之后突然觉得这样不太好吧.比较Mon

c#开发Mongo笔记第六篇

之前写的五篇比较得到了大家的积极反馈,也有个别高手对我写我写出的代码进行了指教. 其中提到的我写的查询方法性能有问题,我想了想,如果mongo不是延时加载的话,那我的查询就真的有问题了,就成了查询出来所有的数据再进行二次筛选了. 可能这也是之前总是使用entity framework框架导致的习惯性这么写了吧.今天赶紧进行了一下代码,现在贴出来一下,省的之前的错误写法误导了大家,再此也感谢大家对我的批评指正 public static User GetById(ObjectId id) { Mo

c#开发Mongo笔记第四篇

今天是个伟大的日子,不得不说小苹果的歌词真是深入人心啊. 不过今天伟大并不是因为我种下一颗种子,而是我从今天不再写demo,而是进入项目的正式开发当中,毕竟项目时间有限(想必各位码农也都深有体会吧),边开发边探索吧. 既然是刚刚开始,就先搭了一下系统框架,然后,做了一个登陆功能,和一个登陆日志功能 public class Log { public ObjectId Id { get; set; } public string Abstract { get; set; } public stri