MongoDB C#驱动

Jun 07, 2016 pm 05:56 PM
mongodb 운전하다

+Driver+Tutorial 笔记 首先下载驱动。驱动有两个文件 MongoDB.Bson.dll MongoDB.Driver.dll 可以直接下载这两个驱动,或者按照下载源码进行编译生成。下载的源码可以看些test例子。 在新建的c#工程中添加这两个dll文件,并且使用如下命名空间 至少要引用如

+Driver+Tutorial

笔记

首先下载驱动。驱动有两个文件

  • MongoDB.Bson.dll
  • MongoDB.Driver.dll
  • 可以直接下载这两个驱动,或者按照下载源码进行编译生成。下载的源码可以看些test例子。

    在新建的c#工程中添加这两个dll文件,并且使用如下命名空间

    至少要引用如下命名空间

    using MongoDB.Bson; using MongoDB.Driver; 另外使用比较多的命名空间是 using MongoDB.Driver.Builders; using MongoDB.Driver.GridFS; using MongoDB.Driver.Linq;

     

    另外有些可能会用得到的命名空间

    using MongoDB.Bson.IO; using MongoDB.Bson.Serialization; using MongoDB.Bson.Serialization.Attributes; using MongoDB.Bson.Serialization.Conventions; using MongoDB.Bson.Serialization.IdGenerators; using MongoDB.Bson.Serialization.Options; using MongoDB.Bson.Serialization.Serializers; using MongoDB.Driver.Wrappers; BSON类库 BSON是类似JSON的一种二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型。它也是MongoDB文档数据库内部的数据存储方式。 BsonType   public enum BsonType { Double = 0x01, String = 0x02, Document = 0x03, Array = 0x04, Binary = 0x05, Undefined = 0x06, ObjectId = 0x07, Boolean = 0x08, DateTime = 0x09, Null = 0x0a, RegularExpression = 0x0b, JavaScript = 0x0d, Symbol = 0x0e, JavaScriptWithScope = 0x0f, Int32 = 0x10, Timestamp = 0x11, Int64 = 0x12, MinKey = 0xff, MaxKey = 0x7f }

    BsonValue和子类

    BsonValue是一种代表BsonType的虚拟类。它是BsonType枚举类的凝聚子类。

    ·可以使用public构造函数生成BsonValue子类

    ·使用静态create函数生成

    ·Use a static property of a subclass of BsonValue(静态的子类属性?)

    ·隐式转换成BsonValue

    BsonType的类型

    可以用下面的例子代码确认BsonValue的属性

    BsonValue value; if (value.BsonType == BsonType.Int32) { // we know value is an instance of BsonInt32 } if (value is BsonInt32) { // another way to tell that value is a BsonInt32 } if (value.IsInt32) { // the easiest way to tell that value is a BsonInt32 }

    As[Type] Properties

    BsonValue有一系列转换方式将它的类型cast(抛)(而不是conversion)成与.NET相匹配的数据类型。如果他不是一个.NET相对应的数据属性,它将会抛出一个InvalidCastException 异常。下面是一些将数据转变的方式。

    BsonDocument document; string name = document["name"].AsString;//As方式,类似转变 int age = document["age"].AsInt32; BsonDocument address = document["address"].AsBsonDocument; string zip = address["zip"].AsString;

    Is[Type] Properties

    使用下面例子测试BsonValues是什么类型

    BsonDocument document; int age = -1; if (document.Contains["age"] && document["age"].IsInt32) {//Is 是否为Int32类型 age = document["age"].AsInt32; } To[Type] 转变方法 与As不同,To是用于可以转变类型之间的转类型。比如int和double之间。 比如ToBoolen方法永远不会失败。它是按照javascript里面定义的。false, 0, 0.0, NaN, BsonNull, BsonUndefined 以及"" 是false,其他所有都是true。 if (employee["ismanager"].ToBoolean()) { // we know the employee is a manager // works with many ways of recording boolean values } ToDouble、ToInt32、以及ToInt64在数字之间的转变都不会失败。即使数字长度不匹配被缩短了都不会照成函数错误。string类型可以转成数字类型。但是如果string类型不能转成相应的数字的时候,会抛出异常。 隐式的转化 下面的数据类型可以直接转化

    比如下面

    BsonValue b = true; // b is an instance of BsonBoolean BsonValue d = 3.14159; // d is an instance of BsonDouble BsonValue i = 1; // i is an instance of BsonInt32 BsonValue s = "Hello"; // s is an instance of BsonString

    BsonMaxKey, BsonMinKey, BsonNull and BsonUndefined

    这些数据类型是单个的类,要用到这些数据,需要使用各自的类来生成

    document["status"] = BsonNull.Value; document["priority"] = BsonMaxKey.Value; 注意,这个c#的null和BsonNull是两个完全不同的东西。BsonNull是一个C#类,它的Value属性是null。所以他们在函数构造不同。   ObjectId and BsonObjectId 一些常用的创建ObjectId 值的方式 var id1 = new ObjectId(); // same as ObjectId.Empty var id2 = ObjectId.Empty; // all zeroes var id3 = ObjectId.GenerateNewId(); // generates new unique Id var id4 = ObjectId.Parse("4dad901291c2949e7a5b6aa8"); // parses a 24 hex digit string

    在C#里面,美国空间,刚创建的值默认都是零的。但是在javascript里面会创建一个唯一的值。

    BsonElement

    (Bson元素) Bson元素是一个name/value的键值对。 document.Add(new BsonElement("age", 21)); // OK, but next line is shorter document.Add("age", 21); // creates BsonElement automatically

    BsonDocument

      BsonDocument是name/value键值对的集合。 BsonDocument构造函数
  • BsonDocument()
  • BsonDocument(string name, BsonValue value)
  • 上面是用的比较多

    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

    핫 AI 도구

    Undresser.AI Undress

    Undresser.AI Undress

    사실적인 누드 사진을 만들기 위한 AI 기반 앱

    AI Clothes Remover

    AI Clothes Remover

    사진에서 옷을 제거하는 온라인 AI 도구입니다.

    Undress AI Tool

    Undress AI Tool

    무료로 이미지를 벗다

    Clothoff.io

    Clothoff.io

    AI 옷 제거제

    AI Hentai Generator

    AI Hentai Generator

    AI Hentai를 무료로 생성하십시오.

    인기 기사

    R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
    3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. 최고의 그래픽 설정
    3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
    3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
    4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

    뜨거운 도구

    메모장++7.3.1

    메모장++7.3.1

    사용하기 쉬운 무료 코드 편집기

    SublimeText3 중국어 버전

    SublimeText3 중국어 버전

    중국어 버전, 사용하기 매우 쉽습니다.

    스튜디오 13.0.1 보내기

    스튜디오 13.0.1 보내기

    강력한 PHP 통합 개발 환경

    드림위버 CS6

    드림위버 CS6

    시각적 웹 개발 도구

    SublimeText3 Mac 버전

    SublimeText3 Mac 버전

    신 수준의 코드 편집 소프트웨어(SublimeText3)

    navicat이 만료되면 어떻게 해야 할까요? navicat이 만료되면 어떻게 해야 할까요? Apr 23, 2024 pm 12:12 PM

    Navicat 만료 문제를 해결하는 방법은 다음과 같습니다: 라이센스 갱신, 자동 업데이트 비활성화, Navicat 고객 지원에 문의하세요.

    AMD, 24.7.1 드라이버 업데이트 출시: 'Only: Path of the Goddess' 성능이 16% 향상되고 'Zero' 게임 지원 AMD, 24.7.1 드라이버 업데이트 출시: 'Only: Path of the Goddess' 성능이 16% 향상되고 'Zero' 게임 지원 Jul 20, 2024 pm 02:52 PM

    20일 본 사이트 소식에 따르면 AMD는 어제(19일) '온리: 여신의 길'을 지원하는 최신 AMD소프트웨어: 아드레날린 에디션 24.7.1 드라이버 업데이트를 출시했다. 16%) 및 "Zone Zero" 게임. AMD의 드라이버 업데이트에는 "DOTA2" 게임용 Radeon Anti-Lag2 기술도 도입되었습니다. AMD는 이 드라이버를 AMD RDNA 아키텍처를 갖춘 개별 그래픽 카드 및 코어 디스플레이에 설치하면 입력 지연이 더욱 줄어들고 게임 경험이 향상될 수 있다고 공식적으로 밝혔습니다. AMD는 또한 새 드라이버에서 다수의 BUG를 수정했습니다. 정보는 다음과 같습니다. AMD Radeon™ Anti-Lag 및 AMDFi 활성화가 개선되었습니다.

    Windows에서는 개별 장치 드라이버를 정상적으로 설치할 수 없는 문제를 해결하기 위해 드라이버 서명 적용을 비활성화합니다. Windows에서는 개별 장치 드라이버를 정상적으로 설치할 수 없는 문제를 해결하기 위해 드라이버 서명 적용을 비활성화합니다. Jun 19, 2024 am 07:22 AM

    드라이버 디지털 서명이라고도 하는 드라이버 서명은 Microsoft의 Windows 하드웨어 장치 품질 연구소에서 완성됩니다. 하드웨어 개발자는 하드웨어 장치와 해당 드라이버를 연구소에 제출하고 테스트를 통과한 후 연구소는 드라이버에 디지털 서명을 추가합니다. 디지털 서명은 Microsoft에서 수행하기 때문입니다. 컴퓨터를 정상적으로 사용하려면 드라이버를 설치해야 하는데, 보안상의 이유로 인증되지 않은 드라이버의 설치를 시스템에서 차단하기 때문에 다운로드한 드라이버를 설치할 수 없는 경우가 있습니다. 특수 장치가 드라이버 확인을 통과하지 못한 경우 디지털 서명을 일시적으로 꺼야만 설치가 정상이 될 수 있습니다. 운전자 서명 시행을 비활성화하는 방법을 살펴 보겠습니다.

    Navicat을 mongodb에 연결하는 방법 Navicat을 mongodb에 연결하는 방법 Apr 24, 2024 am 11:27 AM

    Navicat을 사용하여 MongoDB에 연결하려면 다음을 수행해야 합니다: Navicat 설치 MongoDB 연결 생성: a. 연결 이름, 호스트 주소 및 포트를 입력합니다. b. 인증 정보를 입력합니다(필요한 경우). SSL 인증서를 추가합니다(필요한 경우). 연결 저장

    net4.0의 용도는 무엇입니까 net4.0의 용도는 무엇입니까 May 10, 2024 am 01:09 AM

    .NET 4.0은 다양한 애플리케이션을 만드는 데 사용되며 객체 지향 프로그래밍, 유연성, 강력한 아키텍처, 클라우드 컴퓨팅 통합, 성능 최적화, 광범위한 라이브러리, 보안, 확장성, 데이터 액세스 및 모바일을 포함한 풍부한 기능을 애플리케이션 개발자에게 제공합니다. 개발 지원.

    게임 성능 최대 149% 향상, AMD는 24.6.1 WHQL 그래픽 드라이버 출시: HYPR-RX 지원 확장 게임 성능 최대 149% 향상, AMD는 24.6.1 WHQL 그래픽 드라이버 출시: HYPR-RX 지원 확장 Jun 28, 2024 am 10:42 AM

    6월 28일 이 사이트의 소식에 따르면 AMD는 오늘 "The First Descendant"와 "Once Human"이라는 두 가지 새로운 게임을 지원하는 데 중점을 둔 AMD 소프트웨어 아드레날린 드라이버 24.6.1WHQL 업데이트를 출시했습니다. 이 드라이버 업데이트는 다음 게임에 대한 HYPR-Tune 구성 파일에 대한 지원도 확장합니다. 이 사이트에 첨부된 게임 목록은 "Like a Dragon 8: Infinite Wealth", "Overwatch 2", "The First Successor"(TheFirstDescendant)입니다. ) "F124" "재장전된 전초기지" (O

    서버리스 아키텍처에 Java 기능 및 데이터베이스 통합 서버리스 아키텍처에 Java 기능 및 데이터베이스 통합 Apr 28, 2024 am 08:57 AM

    서버리스 아키텍처에서는 Java 기능을 데이터베이스와 통합하여 데이터베이스의 데이터에 액세스하고 조작할 수 있습니다. 주요 단계에는 Java 기능 생성, 환경 변수 구성, 기능 배포 및 기능 테스트가 포함됩니다. 이러한 단계를 따르면 개발자는 데이터베이스에 저장된 데이터에 원활하게 액세스하는 복잡한 애플리케이션을 구축할 수 있습니다.

    데비안에서 MongoDB의 고 가용성을 보장하는 방법 데비안에서 MongoDB의 고 가용성을 보장하는 방법 Apr 02, 2025 am 07:21 AM

    이 기사는 데비안 시스템에서 고도로 사용 가능한 MongoDB 데이터베이스를 구축하는 방법에 대해 설명합니다. 우리는 데이터 보안 및 서비스가 계속 운영되도록하는 여러 가지 방법을 모색 할 것입니다. 주요 전략 : ReplicaSet : ReplicaSet : 복제품을 사용하여 데이터 중복성 및 자동 장애 조치를 달성합니다. 마스터 노드가 실패하면 복제 세트는 서비스의 지속적인 가용성을 보장하기 위해 새 마스터 노드를 자동으로 선택합니다. 데이터 백업 및 복구 : MongoDump 명령을 정기적으로 사용하여 데이터베이스를 백업하고 데이터 손실의 위험을 처리하기 위해 효과적인 복구 전략을 공식화합니다. 모니터링 및 경보 : 모니터링 도구 (예 : Prometheus, Grafana) 배포 MongoDB의 실행 상태를 실시간으로 모니터링하고

    See all articles