問題を見つける 最近、プログラムのストレージを 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 つの優れたコード比較ツールの概要
table1 に 5 つのレコードを挿入する場合、次のコードは誤りです。 テーブル1に(id,na...
Web 標準について議論するときに必ず話題になるのは、構造とプレゼンテーションを分離することの重要性...
目次MySQL ベースの検索エンジンの実装1. ngram全文パーサー2. 全文インデックスを作成す...
前提条件: Percona 5.6 バージョン、トランザクション分離レベルは RR mysql>...
序文WeChat ミニプログラムのネイティブ UI が少し物足りないと感じることがあるので、サードパ...
Nginx は、リバース プロキシ機能を使用して負荷分散を実装できるほか、フォワード プロキシ機能を...
今日は、Jenkins + powershell スクリプトを使用して、.NET CORE スクリプ...
Mysql8.0.12 解凍版のインストール方法をテストしましたので、ご参考までに1. ダウンロー...
1. MYSQLに接続するフォーマット: mysql -h ホストアドレス -u ユーザー名 -p ...
JavaScript は多くの素晴らしい機能を備えています。この記事では、作業効率の向上とコードのデ...
execute、executeUpdate、executeQuery の違い (およびそれらの戻り値...
目次1. サービスの開始と停止の手順1.1 Windows での MySQL 5.7 の公式 MSI...
多くの場合、サーバーでスクリプトを定期的に実行して操作をトリガーする必要があります。たとえば、Qin...
必要Zabbix で DingTalk アラームを設定する方法は、Prometheus で Ding...
ビジネス シナリオ: vue + element ui の el-dialog を使用します。ポップ...