【第22期】观点:IT 行业加班,到底有没有价值?

MongoDB(三)

原创 2015年11月18日 11:07:33
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

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Spring Data 与MongoDB 集成三:操作篇(修改)

一、简介 spring-data-mongodb提供的org.springframework.data.mongodb.core.MongoTemplate对MongoDB的update操作,可以对在...

Morphia和MongoDB学习总结<三>

      MongoDB 是面向文档的开源数据库,Morphia 是面向 MongoDB 的类型安全的对象映射库。本文演示了如何使用Morphia 来实现持久保存、加载、删除和查询映射到 MongoDB 的 Java™ 域模型。 一、准备工作   <span style="font-size: xx-small;

搭建高可用mongodb集群(三)—— 深入副本集内部机制

Posted on 17 二月, 2014 by lanceyan | 4条评论 在上一篇文章《搭建高可用mongodb集群(二)—— 副本集》 介绍了副本集的配置,这篇文章深入研究一下副本集...

MongoDB 教程三: 高级查询

视频:MongoDB 教程三: 高级查询   MongoDB支持的查询语言非常强大,语法规则类似于面向对象的查询语言,可以实现类似关系数据

HBase vs. MongoDB vs. MySQL vs. Oracle vs. Redis,三大主流开源 NoSQL 数据库的 PK 两大主流传统 SQL 数据库

HBase vs. MongoDB vs. MySQL vs. Oracle vs. Redis,三大主流开源 NoSQL 数据库的 PK 两大主流传统 SQL 数据库 类别 HBase Mong...
  • achuo
  • achuo
  • 2016-01-22 22:43
  • 284

MongoDB学习笔记之三 GridFS

三、GridFS  简述  GridFS是MongoDB用来存储大文件的一种文件系统  原理  Mongo支持BSON的格式来存储二进制数据,但在Mongo中,BSON被限制在4M之内。GridFS提供一种大文件分割存储的机制,例如视频。  
  • kisa77
  • kisa77
  • 2010-07-01 11:25
  • 1587

Spring Data MongoDB 三:基本文档查询(Query、BasicQuery)

一.简介      Spring Data  MongoDB提供了org.springframework.data.mongodb.core.MongoTemplate对MongoDB的CRUD...

MongoDB 教程三: 高级查询 (SQL到MongoDB映射表)

查询接口 对于查询操作,MongoDB 提供了 <tt class="xref mongodb

MongoDB三(集合操作)

一、 创建集合在MongoDB中,创建集合采用db.createCollection(name, options)方法。 在该命令中,name是所要创建的集合名称。options是一个用来指定集合配...

搭建高可用mongodb集群(三)—— 分片

按照上一节中<a style="color: #0088cc;" title="搭建高可用mongodb集群(三)—— 深入副本集内部机制" href="http://www.lanceyan.com/tech
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)