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系列之三(副本集配置 持续更新) 分类: Cloud & DC(original)2013-06-20 15:21 755人阅读 评论(0) 收藏 举报 今天我测试了...

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

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

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

在上一篇文章《搭建高可用mongodb集群(二)—— 副本集》 介绍了副本集的配置,这篇文章深入研究一下副本集的内部机制。还是带着副本集的问题来看吧! 副本集故障转移,主节点是如何选举的?能否手...

MongoDB 3.4 高可用集群搭建(三)shard 分片

MongoDB 3.4 高可用集群搭建(三)shard 分片
  • vellin
  • vellin
  • 2017-01-03 14:12
  • 6477

hjr教程-JavaScript(三):springmvc+mongodb+angular.js搭建网站后台

angular.js主要指令有: ng-app 把整个html文件当成一个app ng-controller 一个模块、一个数据区域 ng-model 模块里的一个标签 ng-click 点击事件 n...

MongoDB(三) 备份与恢复

MongoDB备份与恢复1. 备份 mongodump用法: mongodump 将mongodb里的数据导出为.bson文件常用配置: 参数 用法 /help 打印帮助 /vers...

MongoDB学习三

MongoDB查询 基本语法 db.COLLECTION_NAME.find() 如果你需要以易读的方式读取数据可以使用pretty() db.col.find().pretty() ...

mongodb指南(十九) - developer zone - 索引(三)索引的删除、重建、版本

后台创建索引 默认情况下,建立索引会阻塞数据库的其他操作。V1.3.2及更高版本提供了后台创建索引的功能。 删除索引 删除指定集合的所有索引: db.collection.dropInde...

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

我们提到过,MongoDB分片需要三个角色才能完成,一个是Config Server作为元数据存储服务器,一个是Mongos实例作为查询路由转发器,最后是MongoD实例用于存储实际用户数据。 一、初...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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