問題を見つける 最近、プログラムのストレージを 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 つの優れたコード比較ツールの概要
グローバル ID を生成する方法は多数あります。ここでは簡単な解決策を紹介します。MySQL の自動...
この記事では、主に js を使用して画像をモザイク化する方法の例を紹介し、次のように共有します。効果...
テーブルヘッダーでは、暗い境界線の色を個別に定義できます。基本的な構文<TH 境界線の色を暗く...
Windows と Linux 間でファイルを転送する場合は、Xftp ツールを使用できます。この...
この記事では、フロントエンドページのスライド検証を実装するためのJavaScript + HTMLの...
まず、いくつかの概念を明確にします。 JDBC: Javaデータベース接続、Oricalによって規定...
目次概要戦略パターンを使用しないフォーム検証戦略パターンを使用して最適化する戦略パターンの利点要約す...
目次1. インストールとインポート2. 手ぶれ補正機能を定義する3. チャートコードを描くinit ...
目次1. ソースパッケージサービスの起動管理2. ソースパッケージサービスのセルフスタート管理3. ...
現在、ほぼすべての大規模な Web サイトとアプリケーションは分散方式で展開されています。分散シナリ...
MongoDB のインストール プロセスと問題記録1. MongoDBのインストールMongoDBを...
これらの 3 つのタグを間違った方法で使用して、タイトルを表に沿わせたり、tbody の高さを固定し...
セルのパディングは、セルの内容と境界線の間の距離です。基本的な構文<TABLE セルパディング...
Docker と Docker Machine の違いDocker はクライアント サーバー アーキ...
目次コンポーネント設計最終的なコンポーネントAPIの定義コンポーネント構造の定義テンプレートとスタイ...