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)
  • 上面是用的比较多

    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

    Outils d'IA chauds

    Undresser.AI Undress

    Undresser.AI Undress

    Application basée sur l'IA pour créer des photos de nu réalistes

    AI Clothes Remover

    AI Clothes Remover

    Outil d'IA en ligne pour supprimer les vêtements des photos.

    Undress AI Tool

    Undress AI Tool

    Images de déshabillage gratuites

    Clothoff.io

    Clothoff.io

    Dissolvant de vêtements AI

    AI Hentai Generator

    AI Hentai Generator

    Générez AI Hentai gratuitement.

    Article chaud

    R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
    3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Meilleurs paramètres graphiques
    3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Comment réparer l'audio si vous n'entendez personne
    3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25: Comment déverrouiller tout dans Myrise
    4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

    Outils chauds

    Bloc-notes++7.3.1

    Bloc-notes++7.3.1

    Éditeur de code facile à utiliser et gratuit

    SublimeText3 version chinoise

    SublimeText3 version chinoise

    Version chinoise, très simple à utiliser

    Envoyer Studio 13.0.1

    Envoyer Studio 13.0.1

    Puissant environnement de développement intégré PHP

    Dreamweaver CS6

    Dreamweaver CS6

    Outils de développement Web visuel

    SublimeText3 version Mac

    SublimeText3 version Mac

    Logiciel d'édition de code au niveau de Dieu (SublimeText3)

    Que faire si Navicat expire Que faire si Navicat expire Apr 23, 2024 pm 12:12 PM

    Les solutions pour résoudre les problèmes d'expiration de Navicat incluent : renouveler la licence ; désinstaller et réinstaller ; désactiver les mises à jour automatiques ; utiliser la version gratuite de Navicat Premium ; contacter le support client de Navicat.

    AMD publie la mise à jour du pilote 24.7.1 : les performances de « Uniquement : Path of the Goddess » s'améliorent de 16 %, prend en charge le jeu « Zéro » AMD publie la mise à jour du pilote 24.7.1 : les performances de « Uniquement : Path of the Goddess » s'améliorent de 16 %, prend en charge le jeu « Zéro » Jul 20, 2024 pm 02:52 PM

    Selon les informations de ce site du 20 juillet, AMD a publié hier (19 juillet) la dernière mise à jour du pilote AMDSoftware: Adrenalin Edition 24.7.1, qui prend en charge "Only: Path of the Goddess" (par rapport à la version précédente, les performances ont augmenté de jusqu'à à 16%) et le jeu "Zone Zéro". La mise à jour du pilote d'AMD a également introduit la technologie Radeon Anti-Lag2 pour le jeu "DOTA2". AMD a officiellement déclaré qu'après l'installation de ce pilote pour les cartes graphiques discrètes et les écrans principaux dotés de l'architecture AMD RDNA, les délais d'entrée peuvent être encore réduits et l'expérience de jeu améliorée. AMD a également corrigé de nombreux bugs dans le nouveau pilote. Les informations sont les suivantes : Amélioration de l'activation d'AMD Radeon™ Anti-Lag et AMDFi.

    Windows désactive l'application de la signature des pilotes pour résoudre le problème selon lequel les pilotes de périphériques individuels ne peuvent pas être installés normalement. Windows désactive l'application de la signature des pilotes pour résoudre le problème selon lequel les pilotes de périphériques individuels ne peuvent pas être installés normalement. Jun 19, 2024 am 07:22 AM

    La signature du pilote, également appelée signature numérique du pilote, est complétée par le laboratoire de qualité des périphériques matériels Windows de Microsoft. Les développeurs de matériel soumettent leurs périphériques matériels et les pilotes correspondants au laboratoire, qui les testera. Après avoir réussi le test, le laboratoire ajoutera une signature numérique au pilote. Puisque la signature numérique est réalisée par Microsoft. L'ordinateur doit avoir le pilote installé avant de pouvoir être utilisé normalement. Parfois, il s'avère que le pilote téléchargé ne peut pas être installé sans signature numérique. Cela est dû au fait que le système bloque l'installation de pilotes non certifiés pour des raisons de sécurité. les appareils spéciaux ne réussissent pas la vérification du pilote, alors évidemment, ce n'est qu'en désactivant temporairement la signature numérique que l'installation peut être normale. Voyons comment désactiver l'application de la signature du pilote

    Comment connecter Navicat à MongoDB Comment connecter Navicat à MongoDB Apr 24, 2024 am 11:27 AM

    Pour vous connecter à MongoDB à l'aide de Navicat, vous devez : Installer Navicat Créer une connexion MongoDB : a. Entrez le nom de connexion, l'adresse de l'hôte et le port b. Entrez les informations d'authentification (si nécessaire) Ajoutez un certificat SSL (si nécessaire) Vérifiez la connexion. Enregistrez la connexion

    Performances du jeu améliorées jusqu'à 149 %, AMD publie le pilote graphique 24.6.1 WHQL : prise en charge étendue de HYPR-RX Performances du jeu améliorées jusqu'à 149 %, AMD publie le pilote graphique 24.6.1 WHQL : prise en charge étendue de HYPR-RX Jun 28, 2024 am 10:42 AM

    Selon les informations de ce site du 28 juin, AMD a publié aujourd'hui la mise à jour du pilote AMD Software Adrenalin 24.6.1WHQL, axée sur la prise en charge de deux nouveaux jeux, "The First Descendant" et "Once Human". Cette mise à jour du pilote étend également la prise en charge des fichiers de configuration HYPR-Tune pour les jeux suivants. La liste des jeux jointe à ce site est la suivante : "Like a Dragon 8 : Infinite Wealth", "Overwatch 2", "The First Successor" (TheFirstDescendant). ) "F124" "Avant-poste rechargé" (O

    A quoi sert net4.0 A quoi sert net4.0 May 10, 2024 am 01:09 AM

    .NET 4.0 est utilisé pour créer une variété d'applications et offre aux développeurs d'applications des fonctionnalités riches, notamment : programmation orientée objet, flexibilité, architecture puissante, intégration du cloud computing, optimisation des performances, bibliothèques étendues, sécurité, évolutivité, accès aux données et mobile. soutien au développement.

    Intégration de fonctions et bases de données Java dans une architecture sans serveur Intégration de fonctions et bases de données Java dans une architecture sans serveur Apr 28, 2024 am 08:57 AM

    Dans une architecture sans serveur, les fonctions Java peuvent être intégrées à la base de données pour accéder et manipuler les données de la base de données. Les étapes clés comprennent : la création de fonctions Java, la configuration des variables d'environnement, le déploiement de fonctions et le test des fonctions. En suivant ces étapes, les développeurs peuvent créer des applications complexes qui accèdent de manière transparente aux données stockées dans les bases de données.

    Comment assurer la haute disponibilité de MongoDB sur Debian Comment assurer la haute disponibilité de MongoDB sur Debian Apr 02, 2025 am 07:21 AM

    Cet article décrit comment construire une base de données MongoDB hautement disponible sur un système Debian. Nous explorerons plusieurs façons de garantir que la sécurité des données et les services continueront de fonctionner. Stratégie clé: réplicaset: réplicaset: Utilisez des répliques pour obtenir la redondance des données et le basculement automatique. Lorsqu'un nœud maître échoue, l'ensemble de répliques élise automatiquement un nouveau nœud maître pour assurer la disponibilité continue du service. Sauvegarde et récupération des données: utilisez régulièrement la commande Mongodump pour sauvegarder la base de données et formuler des stratégies de récupération efficaces pour faire face au risque de perte de données. Surveillance et alarmes: déploier les outils de surveillance (tels que Prometheus, Grafana) pour surveiller l'état de course de MongoDB en temps réel, et

    See all articles