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

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

Mongodb操作三步骤

  • 2014年08月19日 09:53
  • 392KB
  • 下载

爬虫入门(三)连接mongodb

连接mongodb虽然说我们前面写了一个比较健壮的爬虫了,但是人生难免有意外,万一中断了,我们又要重新开始爬虫下载图片了,抓狂!那么我们想呢,怎么写一个判断图片有没有下载过呢?显然我们不能在文件夹里遍...

mongodb源码分析(三)

mongodb源码分析(七)查询3之mongod的cursor的产生(续)     上一篇文章我们说道了mongod对于QueryPlan的选取,由于篇幅过长,所以另起一篇文章接上一篇文章 ...

MongoDB分片介绍(三)——分布式集群部署及维护

我们提到过,MongoDB分片需要三个角色才能完成,一个是Config Server作为元数据存储服务器,一个是Mongos实例作为查询路由转发器,最后是MongoD实例用于存储实际用户数据。 一、初...

MongoDB增删改查(三)

Insert Documents插入单个document到collection中. db.inventory.insertOne(  { item: “canvas”, qty: 100...

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

转载自:http://www.lanceyan.com/tech/mongodb_repset2.html 搭建高可用mongodb集群(三)—— 深入副本集内部机制 Posted on 17...
  • lkx94
  • lkx94
  • 2015年04月12日 23:08
  • 467

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

转载自LANCEYAN.COM 在上一篇文章《搭建高可用mongodb集群(二)—— 副本集》 介绍了副本集的配置,这篇文章深入研究一下副本集的内部机制。还是带着副本集的问题来看吧! 副本...

【MongoDB】学习(三):配置文件说明

原文:http://www.cnblogs.com/zhoujinyi/p/3130231.html       继上一篇NoSQL之【MongoDB】学习(一):安装说明 之后,知...
  • mlz_2
  • mlz_2
  • 2017年05月23日 14:26
  • 172

Mongodb学习笔记(三)

这里是ynb中Mongodb的使用: (1)在pom.xml: test true jdbc:mysql://10.18.96.16:3306/y...

MongoDB 命令行工具(三)

MongoDB 创建数据库    1) 语法:use Database_name    如果数据库不存在,则创建数据库,否则切换到指定数据库。 > use mydb switched to d...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MongoDB(三)
举报原因:
原因补充:

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