問題を見つける 最近、プログラムのストレージを 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 つの優れたコード比較ツールの概要
この記事は主にMySQLデータベースのバイナリ型操作を紹介し、具体的な内容を通して紹介します。MyS...
目次1. はじめに2. スケジューラの基本概念2.1. 実行キュー (rq) 2.2 スケジューリン...
目次コンポーネント - タイムラインカスタムノードスタイルカスタムタイムスタンプコンポーネント - ...
目次1. html2Canvasをインストールする2. 必要なVueコンポーネントを導入する3. ス...
ボックスモデルの計算<br />マージン + ボーダー + パディング + コンテンツC...
以下は、Shiji Tiancheng が Tencent KartRider ページを呼び出すため...
必要Windows システムでも Linux システムでも、さまざまな理由でパスワードを忘れてしまう...
この記事では、参考までにMySQLバックアップスクリプトを紹介します。具体的な内容は次のとおりです。...
XHTML タグの紹介<br />おそらく、前のセクションで、XHTML ファイルと通常...
MYSQLの解凍バージョンがインストールされます1: 解凍後、my.ini ファイルをコピーし、バイ...
目次1. はじめに2. axiosインターセプターを使用してフロントエンドログを出力する1. はじめ...
現在の要件は、ファイルのアップロード ボタンがあることです。ボタンをクリックすると、アップロードする...
XHTML 見出しの概要Word 文書を作成するときは、「第 1 章」、「1.2.1」などのタイトル...
この記事では、MySQL 5.7 zipアーカイブ版のインストールチュートリアルを参考までに紹介しま...
以前、CSS を使用してテーブルの border + bordercolordark + borde...