• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > MongoDB的C#驱动程序教程(译)

MongoDB的C#驱动程序教程(译)

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了MongoDB,驱动程序,教程等相关知识,希望本文的分享对您有所帮助

草案版本(日期为2010-09-30) 该文件是一个草案版本。虽然我们认为这里提供的信息是非常准确的,它是可能的,它可能会改变未成年人的方式,因为我们吸收用户的反馈意见,并继续执行 C#驱动程序。 1.概述 本教程是10gen支持C#驱动程序MongoDB的介绍。假定

草案版本(日期为2010-09-30)

该文件是一个草案版本。虽然我们认为这里提供的信息是非常准确的,香港虚拟主机,它是可能的,它可能会改变未成年人的方式,因为我们吸收用户的反馈意见,并继续执行 C#驱动程序。

1.概述

本教程是10gen支持C#驱动程序MongoDB的介绍。假定您熟悉使用MongoDB,因此主要集中在如何使用C#访问MongoDB的。 它分为两个部分:C# 驱动程序 ,BSON图书馆。C#驱动程序是建立在顶部,其目的是单独使用的C#驱动程序的的BSON图书馆,。

在第1部分中,我们将介绍C#驱动程序的主类:MongoServer,MongoDatabase,MongoCollection,MongoCursor,MongoGridFS,MongoGridFSFileInfo和SafeMode。

在第2部分,我们将讨论的主要类的BSON Library的:BsonType,BsonValue(及其子类),BsonElement,BsonDocument和BsonArray。

第1部分:C#驱动程序

本教程的第1部分组织自顶向下的方式,所以你有时可能提前偷看,如果事情是没有意义。您甚至可能想要读第2,如果你是完全陌生的的BSON概念,如文档和元素与前第1部分。

参考文献和命名空间

为了从你的程序中使用C#的驱动程序,您必须添加以下两个DLL文件:

  • MongoDB.BsonLibrary.dll
  • MongoDB.CSharpDriver.dll
  • 您还应该添加以下语句到你的源文件:

    using MongoDB.BsonLibrary;

    using MongoDB.CSharpDriver;

    除了 极少数例外,你将要使用的类的名称前缀与任何“BSON”的,如果他们的BsonLibrary或“Mongo”的一部分,如果他们的C#驱动程序的一部分 。这样做是为了获得名称冲突的可能性降至最低,当您添加到你的程序的两个使用语句。预计将方法的参数(主要是枚举和标志)的一些类,具有较短的名称,不使用任何前缀。

    我们喜欢使用C#的var语句声明 的变量,因为它会导致更短,我们的感觉,更可读的代码。Visual Studio可以很容易地看到一个变量的类型 ,如果您需要通过将鼠标指针悬停在变量 或使用IntelliSense。然而,当阅读本文档,你没有这个能力,所以在这个文件中,而不是写:

    var server = MongoServer.Create(connectionString);

    var test = server[“test”];

    var books = test[“books”];

    按照我们的建议,我们会来写:

    MongoServer server = MongoServer.Create(connectionString);

    MongoDatabase test = server[“test”];

    MongoCollection books = test[“books”];

    所以,你可以看到什么类型正在使用。

    线程安全

    只有少数的C#驱动程序 类是线程安全的。其中:MongoServer的,MongoDatabase,MongoCollection MongoGridFS。通用类,你会使用很多是不是线程安全包括MongoCursor的所有类的BsonLibrary(除BsonSymbolTable)的。A类不是线程安全的,除非特别记载是线程安全的。

    所有的所有类的静态属性和方法是线程安全的。

    MongoServer类

    这个类服务 s的工作与MongoDB的根对象。这个类的一个实例的客户端是一个MongoDB服务器,你想沟通。虽然这个类有公共的构造函数,推荐的方式来获得这个类的一个实例是使用工厂方法。

    每个实例MongoServer保持与服务器的连接池。这些连接之间共享所有的呼叫到服务器。你可能要调用构造函数,而不是直接调用创建工厂方法MongoServer的几个原因之一是,如果你要保持一个单独的连接池的一些操作。

    这个类的实例是线程安全的。

    连接字符串

    最简单的方法是使用一个连接字符串连接到MongoDB的。标准 MongoDB的连接字符串的格式是一个以下列格式的URL:

    mongodb://[username:password@]hostname[:port][/database]

    如果您使用的是MongoDB服务器的身份验证的用户名和密码,只应。这些凭据将适用于一个单一的数据库,如果数据库名称是存在的,否则他们将所有的数据库的默认凭据。要进行身份验证对管理数据库追加“(管理)”的用户名的。

    端口号是可选的,默认为27017。

    如果数据库名是存在的,那么这个连接字符串,也可以与创建方法MongoDatabase的使用。创建方法MongoServer忽略的数据库名称(如果存在)(以外的凭据,以确定是否适用于一个单一的数据库或所有数据库的默认凭据)。

    要连接到一个副本设置指定的种子提供多个以逗号分隔的主机名列表。例如:

    mongodb://server1,server2:27017,server2:27018

    该连接字符串指定的种子名单,由三个服务器(其中两个是在同一台机器上,但在不同的端口号)。

    C#驱动程序 能够连接到副本集,即使种子名单是不完整的。它会发现在主服务器即使主只要不是种子列表中的种子列表上的至少一个次级服务器响应(响应将包含完整副本集和当前的主的名称)。

    工厂方法

    最好的方式得到的一个实例MongoServer是,使用CREATE工厂方法。使用相同的连接字符串时,此方法将返回相同的实例MongoServer,所以你不必担心一大堆的情况下,如果你调用Create不止一次。此外,如果你只使用一个数据库时,你可能会发现它更容易跳过调用此方法,并呼吁建立 工厂方法MongoDatabase。

    要连接到MongoDB的本地,你会写这样的代码:

    string connectionString = “mongodb://localhost”;

    MongoServer server = MongoServer.Create(connectionString);

    或许......

    MongoServer server = MongoServer.Create();

    因为连接到本地主机是默认的。

    分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

    您可能想查找下面的文章:

    • MongoDB中常用的语句总结
    • MongoDB导入json数据的方法
    • MongoDB提升性能的方法总结
    • 什么是MongoDB?MongoDB简介
    • 什么是mongoDB数据库
    • 黑马云课堂mongodb实操视频的源码课件推荐
    • 燕十八mongodb视频资料分享
    • 分享用MongoDB中oplog机制实现数据监控实例
    • 详细介绍MongoDB常用的操作
    • mongoDB是怎么实现分页的?

    相关文章

    • 2018-12-05Sql Server datetime问题
    • 2018-12-05Mysql5.7.17在windows下安装启动时提示不成功问题的解决办法
    • 2017-05-11mysql SKIP-NAME-RESOLVE 错误的使用时机造成用户权限
    • 2018-12-05解决bash: mysql: command not found 的方法
    • 2018-12-05Redis是什么?有哪些应用场景?
    • 2017-05-11MySQL数据库varchar的限制规则说明
    • 2017-05-11通过命令行导入到mysql数据库时出现乱码的解决方法
    • 2018-12-05C#利用ODP.net连接Oracle数据库的操作方法
    • 2018-12-05多表查询技巧
    • 2018-12-05不同情况下的MySQL 的迁移方案(推荐)

    文章分类

    • MsSql
    • Mysql
    • oracle
    • MariaDB
    • DB2
    • SQLite
    • PostgreSQL
    • MongoDB
    • Redis
    • Access
    • 数据库其它
    • sybase
    • HBase

    最近更新的内容

      • MySQL 在触发器里中断记录的插入或更新?
      • MySQL 5.7 学习心得之安全相关特性_MySQL
      • MySQL中两种子查询的写法
      • MySQL Sleep连接过多问题解决方法
      • oracle删除已存在的表的实例
      • mysql sql_mode="" 的作用说明
      • 从MySQL的源码剖析Innodb buffer的命中率计算
      • Mysql系列(七)存储过程
      • 关于反引号的8篇文章推荐
      • SQLServer 附加数据库后出现只读或失败的解决方法

    关于我们 - 联系我们 - 免责声明 - 网站地图

    ©2020-2025 All Rights Reserved. linkedu.com 版权所有