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ヘンタイを無料で生成します。

    ホットツール

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター

    SublimeText3 中国語版

    SublimeText3 中国語版

    中国語版、とても使いやすい

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 Mac版

    SublimeText3 Mac版

    神レベルのコード編集ソフト(SublimeText3)

    Logitech ghub ドライバーは win7 に対応していないのでしょうか? -Logicool ghub ドライバーはなぜ C ドライブにしかインストールできないのですか? Logitech ghub ドライバーは win7 に対応していないのでしょうか? -Logicool ghub ドライバーはなぜ C ドライブにしかインストールできないのですか? Mar 18, 2024 pm 05:37 PM

    Logitech ghub ドライバーは win7 に対応していないのでしょうか?互換性がありません。 Windows 7 は更新を停止し、Microsoft の主要オペレーティング システムではなくなったため、Logicool ghub などの多くの新しいソフトウェアは Windows 7 をサポートしなくなりました。 Logitech ドライバーのメイン インターフェイス: 1. メイン ソフトウェア インターフェイスは左側にあり、照明、ボタン、感度設定の 3 つのボタンがあります。 2. 照明インターフェイスの設定では、一般的な特殊効果は比較的従来のものであり、オーディオビジュアル効果がハイライトであり、音の周波数に応じて色を変えることができ、高域、中域、低音域に応じて設定できます。 、さまざまな色と効果があります。 3. ボタン設定では、ユーザーは特別な要件に従ってここでボタンを編集できます。 4. 感度設定では、多くのユーザーが独自の設定を行っており、DPI 速度の切り替えポイントを自分で追加できますが、

    Logitech ドライバーをデフォルト構成に復元する手順 Logitech ドライバーをデフォルト構成に復元する手順 Feb 28, 2024 am 11:04 AM

    Logitech ドライバーが正常に使用できない場合、工場出荷時の設定に戻すことでのみ解決できますが、工場出荷時の設定に戻す方法を知らない友人も多くいます。以下に工場出荷時の設定に戻すための詳細な手順を示します。お役に立てれば幸いです。 Logitech ドライバーをデフォルト設定に戻す手順: 1. まず Logitech 専用ドライバー ソフトウェア GHub をダウンロードし、ダウンロードが完了したら開きます 2. 次に、マウスを開いて設定し、設定 (歯車) をクリックします。 3. 下部にある [デフォルト設定に戻す] をクリックし、直接クリックしてソフトウェアを再度開き、工場出荷時の設定を復元します。 Logitech ドライバーをデバイスに接続する方法 1. マウスの裏蓋を開け、ワイヤレス マウス ソケットを取り出します 2. コンピューターの横にあるマウス ソケットを選択します 3. マウスの対応するパラメーター情報を設定します 4. Bluetooth でデバイスをペアリングし、Bluetooth を長押しします。

    mongodb ではどのバージョンが一般的に使用されますか? mongodb ではどのバージョンが一般的に使用されますか? Apr 07, 2024 pm 05:48 PM

    最新の機能と改善が提供される MongoDB の最新バージョン (現在 5.0) を使用することをお勧めします。バージョンを選択するときは、機能要件、互換性、安定性、コミュニティ サポートを考慮する必要があります。たとえば、最新バージョンにはトランザクションや集計パイプラインの最適化などの機能が備わっています。バージョンがアプリケーションと互換性があることを確認してください。運用環境の場合は、長期サポート バージョンを選択してください。最新バージョンでは、より積極的なコミュニティサポートが提供されています。

    Razer マウスドライバーのダウンロード方法 Razer マウスドライバーのダウンロード方法 Mar 11, 2024 pm 03:40 PM

    Razer マウス ドライバーをダウンロードする手順: 1. ブラウザを開いて、Razer 公式 Web サイトにアクセスします。 2. 公式 Web サイトのページで、「テクニカル サポート」または同様のオプションを見つけてクリックします。 3. テクニカル サポート ページで、「」を選択します。マウス」または特定のサブカテゴリ; 4. マウス ドライバーのダウンロード ページでは、さまざまなマウス モデルとそれに対応するドライバーが表示されます; 5. 選択したドライバーのダウンロード リンクをクリックします; 6. ダウンロードが完了したら、ダウンロードされたドライバーが正しいかどうかを確認します。ファイルは完成しました。破損または欠落がないことを確認してください。

    Nodejsとvuejsの違い Nodejsとvuejsの違い Apr 21, 2024 am 04:17 AM

    Node.js はサーバー側の JavaScript ランタイムであり、Vue.js は対話型ユーザー インターフェイスを作成するためのクライアント側の JavaScript フレームワークです。 Node.js はバックエンド サービス API 開発やデータ処理などのサーバー側開発に使用され、Vue.js はシングルページ アプリケーションや応答性の高いユーザー インターフェイスなどのクライアント側開発に使用されます。

    デジタル署名なしで win11 ドライバーをインストールする方法_デジタル署名なしで win11 ドライバーをインストールする方法のチュートリアル デジタル署名なしで win11 ドライバーをインストールする方法_デジタル署名なしで win11 ドライバーをインストールする方法のチュートリアル Mar 20, 2024 pm 04:46 PM

    win11 コンピュータのドライバをインストールするときに、一部のユーザーが問題に遭遇しました。コンピュータは、このファイルのデジタル署名を検証できないというメッセージを表示し、ドライバをインストールできません。この問題を解決するにはどうすればよいですか? 詳細については、次の概要を参照してください。 1. [Win + [Ctrl+Shift+Enter] キーを押します。管理者権限で Windows Powershell ウィンドウを開きます。 3. ユーザー アカウント制御ウィンドウで、このアプリケーションによるデバイスの変更を許可しますか? [はい] をクリックします。 4.管理者: Windows Powers

    mongodb によって作成されたデータベースはどこにありますか? mongodb によって作成されたデータベースはどこにありますか? Apr 07, 2024 pm 05:39 PM

    MongoDB データベースのデータは、ローカル ファイル システム、ネットワーク ファイル システム、またはクラウド ストレージに配置できる指定されたデータ ディレクトリに保存されます。具体的な場所は次のとおりです: ローカル ファイル システム: デフォルトのパスは Linux/macOS: /data/db、Windows: C:\data\db。ネットワーク ファイル システム: パスはファイル システムによって異なります。クラウド ストレージ: パスはクラウド ストレージ プロバイダーによって決定されます。

    mongodbデータベースの利点は何ですか mongodbデータベースの利点は何ですか Apr 07, 2024 pm 05:21 PM

    MongoDB データベースは、その柔軟性、スケーラビリティ、および高いパフォーマンスで知られています。その利点には、データを柔軟かつ非構造化された方法で保存できるドキュメント データ モデルが含まれます。シャーディングによる複数サーバーへの水平スケーラビリティ。クエリの柔軟性により、複雑なクエリと集計操作をサポートします。データ レプリケーションとフォールト トレランスにより、データの冗長性と高可用性が確保されます。 JSON サポートにより、フロントエンド アプリケーションと簡単に統合できます。大量のデータを処理する場合でも高速な応答を実現する高いパフォーマンス。オープンソースでカスタマイズ可能で無料で使用できます。

    See all articles