問題を見つける 最近、プログラムのストレージを Mongodb に移行したところ、Guid 型が書き込まれた後、プログラムで読み取られたデータがクライアント ツールで表示されるデータと異なるという現象を発見しました。簡単な例は次のとおりです。 var doc = new {_id = 1、Value = Guid.Parse("{B63932BB-9688-432B-B3A0-C4AE3FD2696A}") }; コレクション.InsertOne(doc.ToBsonDocument()); DB に書き込んだ後、クライアント ツールからそれを表示します。 比較すると、表示された値は書き込まれた形式とは異なりますが、読み取られた値は正しいことがわかります。この質問に対する答えは、公式ドキュメントの仕様に記載されています。 公式ドキュメント: http://bsonspec.org/spec.html Mongodb は uuid をバイナリ型として保存し、サブタイプを使用してその型を uuid としてマークします。C#、Java、Python 用に提供されているドライバーでは、サブタイプはデフォルトで 3 (レガシー UUID) にマップされ、クライアント ツールにも表示されます。 実際、ほとんどのクライアント ツールは、私たちが記述したとおりの Legacy UUID の表示もサポートしています。 回避策 これはプログラムの機能には影響しませんが、一見すると文字列が記述された形式ではないため、プログラムのデバッグに影響することがよくあります。より良い解決策は、デフォルトで標準の UUID 形式で保存することです。グローバル構成を設定するだけで済みます。 BsonDefaults.GuidRepresentation = GuidRepresentation.Standard; これははるかに便利です: 参考記事: UUID データに関する MongoDB のベスト プラクティス 要約する 上記はMongodbのGUIDの表示問題についての詳細な内容です。MongodbのGUIDの表示問題についての詳細は、123WORDPRESS.COMの他の関連記事をご覧ください。 |
>>: Linux で推奨される 9 つの優れたコード比較ツールの概要
目次1. copy_{to,from}_user() とは何か1. copy_{to,from}_u...
目次1.Vue.js の機能: 2.Observer.js 関数 (データハイジャック): 3. C...
ターゲットzabbix フロントエンド監視の iostat コマンドでデータの 1 つを表示します。...
MySQL公式サイトのzipファイルのダウンロードリンク https://dev.mysql.co...
Unix ライクなシステムでは、コマンドまたはプロセスの実行がいつ開始されたか、またプロセスがどのく...
前書き: 最近、私はパートナーとチームを組んで .NET Core プロジェクトに取り組む予定です。...
この記事には、細かい点は一切なく、カラーマッチングのテクニックをシェアするだけです。とてもシンプルで...
序文Nginx (「エンジン エックス」と発音) は、リバース プロキシ、ロード バランサ、HTTP...
目次概要(ループモード - 共通)配列と非同期メソッドを宣言して反復するforループで使用するマップ...
最近、小さなプログラムを開発しているときに、次の設計図のような円形のパーセンテージ進捗状況バーを実装...
1 はじめにデータベース内のデータを操作するための SQL 文を記述するときに、いくつかの不快な問題...
1. MySQLデータベースのユーザーテーブルのレコードのHostフィールド値を%に変更します。奇妙...
序文Tomcat は優れた Java コンテナですが、避けられない小さな落とし穴もいくつかあります。...
目次非同期とは何ですか?なぜ非同期性が必要なのでしょうか?非同期IOとは何ですか?イベントループとは...
目次変数データ型拡張ポイント要約する変数基本的な構文 var age=10; //ageという変数を...