gpt4 book ai didi

java - 来自 Java 的 MongoDB 连接 : how to configure codecs given connection URI

转载 作者:行者123 更新时间:2023-11-30 02:42:27 26 4
gpt4 key购买 nike

我有一个连接到 MongoDB 的 Java Web 应用程序,并利用自定义编解码器对 MongoDB 文档中的域特定 Java POJO 进行编码/解码。连接 URL 通过环境变量提供给应用程序。 URL 可以包含选项,但根据 URL 格式文档 https://docs.mongodb.com/manual/reference/connection-string/无法在 URL 中指定编解码器。因此,我自然的选择是使用 MongoClientOptions 构建器将 URI 和新 CodecRegistry 中的选项与我的编解码器结合起来:

MongoClientOptions optsWithCodecs = MongoClientOptions.builder(
mongoURI.getOptions()).codecRegistry(myCodecRegistry).build();

问题是 MongoClient 不提供接受 URI 和 MongoClientOptions 的构造函数,有只接受 URI 的构造函数:

public MongoClient(final MongoClientURI uri) {
super(uri);
}

这让我手动解析 URI,从 MongoClient 私有(private)方法复制一些代码,然后使用其他接受选项的构造函数之一。我想找到一种更好的方法来使用自定义编解码器配置 MongoClient。我使用的是 Mongo Java 驱动程序版本 3.3.0

最佳答案

你可以尝试这样的事情。

 MongoClientOptions optsWithCodecs = MongoClientOptions.builder(
mongoURI.getOptions()).codecRegistry(myCodecRegistry).build();
MongoClientURI mongoClientUri = new MongoClientURI(uri, optsWithCodecs);
MongoClient mongoClient = new MongoClient(mongoClientUri);

关于java - 来自 Java 的 MongoDB 连接 : how to configure codecs given connection URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41240498/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com