6

MongoDB の正規化されたデータ モデル構造で次のエラーが発生します。

org.bson.codecs.configuration.CodecConfigurationException: Can't find a codec for class com.mongodb.DBRef

次の行が原因です。

System.out.println(document.toJson());

具体的にはそのtoJson()部分。ドキュメントに DBRef オブジェクトがあるので、別のコレクションからドキュメントを参照できます。埋め込みドキュメント構造はオプションではありません。では、どうすればこれを修正できますか?

4

2 に答える 2

6

印刷するには DBRef コーデックをインポートする必要があります。ドキュメント json スタイルで使用する場合は、DBRef 用に独自のコーデックを作成し、toJson() に指定する codecregistry に追加する必要があります。

例えば

CodecRegistry codecRegistry = MongoClientSettings.getDefaultCodecRegistry();
-------
final DocumentCodec codec = new DocumentCodec(codecRegistry, new BsonTypeClassMap());
-------
System.out.println(document.toJson(codec));
于 2015-08-06T09:51:38.830 に答える