mongodb最新版的springboot驱动的字段说明。。。 不要再被现在那些旧版本的连接池自定义方案误导了,根本不能用,或者是你还得自己找jar包,现在的springboot-data-mongodb本身就支持连接池,只要在uri上面配置下相关参数就好了,具体的大家自己摸索下,有几个核心的类和大家说一下:
SimpleMongoClientDatabaseFactory 替代了SimplemongoDbFactory类
MongoDatabaseFactory替代了MongoDbFactory 类
MongoClientSettings替代了MongoClientOptions 类
目前的MongoClient变成了一个接口类,有MongoClients类来做静态实例化,下面是部分代码截图
#下方为mongodb的配置字段含义和方式,该方式选择的是uri #表示一个连接字符串 。 连接字符串描述要使用的主机和选项。 #连接字符串的格式为: #mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database.collection][?options]] # #mongodb://是必需的前缀,用于标识这是标准连接格式中的字符串。 #username:password@是可选的。 如果给定,驱动程序将在连接到数据库服务器后尝试登录到数据库。 对于某些身份验证机制,仅指定用户名而未指定密码,在这种情况下,用户名后的“:”也被省略 #host1是连接字符串中唯一需要的部分。 它标识要连接的服务器地址。 在 3.7 中添加了对 Unix 域套接字的支持。 注意:路径必须是 urlencoded 例如: mongodb://%2Ftmp%2Fmongodb-27017.sock和jnr.unixsocket库安装。 #:portX是可选的,如果未提供,则默认为 :27017。 #/database是要登录的数据库的名称,因此仅在使用username:password@语法时才相关。 如果未指定,则默认使用“admin”数据库。 #?options是连接选项。 注意,如果database不存在,还有一个/最后一个主机和之间需要? 介绍选项。 选项是名称=值对,这些对用“&”分隔。 为了向后兼容,“;” 除了“&”之外,还接受作为分隔符,但应视为已弃用。 #使用 mongodb+srv 协议的另一种格式是: #mongodb+srv://[username:password@]host[/[database][?options]] # #mongodb+srv://是此格式的必需前缀。 #username:password@是可选的。 如果给定,驱动程序将在连接到数据库服务器后尝试登录到数据库。 对于某些身份验证机制,仅指定用户名而未指定密码,在这种情况下,用户名后的“:”也被省略 #host是 URI 中唯一需要的部分。 它标识单个主机名,在主机名前加上"_mongodb._tcp"前缀后,从域名服务器查找 SRV 记录。 每个 SRV 记录的主机/端口成为用于连接的种子列表,就像使用普通 mongodb 协议在 URI 中作为主机/端口对提供每个列表一样。 #/database是要登录的数据库的名称,因此仅在使用username:password@语法时才相关。 如果未指定,则默认使用“admin”数据库。 #?options是连接选项。 注意,如果database不存在,还有一个/最后一个主机和之间需要? 介绍选项。 选项是名称=值对,这些对用“&”分隔。 为了向后兼容,“;” 除了“&”之外,还接受作为分隔符,但应视为已弃用。 此外,使用 mongodb+srv 协议,从给定主机的域名服务器中查找 TXT 记录,并且每个记录的文本值都附加到 URI 本身的任何选项之前。 因为任何选项的最后一个指定值获胜,这意味着 URI 上提供的选项将覆盖通过 TXT 记录提供的任何选项。 #支持以下选项(不区分大小写): #服务器选择配置: #serverSelectionTimeoutMS=ms :驱动程序在抛出异常之前等待服务器选择成功的时间。 #localThresholdMS=ms :当在多个 MongoDB 服务器中选择发送请求时,驱动程序只会将该请求发送到 ping 时间小于或等于 ping 时间最快的服务器加上本地阈值的服务器。 #服务器监控配置: #heartbeatFrequencyMS=ms :驱动程序尝试确定集群中每个服务器当前状态的频率。 #副本集配置: #replicaSet=name :暗示给定的主机是一个种子列表,驱动程序将尝试查找该集合的所有成员。 #连接配置: #ssl=true|false : 是否使用 TLS 连接。 #tls=true|false : 是否使用 TLS 连接。 取代 ssl 选项 #tlsInsecure=true|false :如果使用 TLS 连接,则此选项启用不安全的 TLS 连接。 目前,这与将 tlsAllowInvalidHostnames 设置为 true 具有相同的效果。 其他放宽 TLS 安全约束的机制必须在应用程序中通过自定义javax.net.ssl.SSLContext来处理 #sslInvalidHostNameAllowed=true|false :是否允许 TLS 连接无效的主机名。 #tlsAllowInvalidHostnames=true|false :是否允许 TLS 连接的无效主机名。 取代 sslInvalidHostNameAllowed 选项 #connectTimeoutMS=ms :在超时之前打开连接需要多长时间。 #socketTimeoutMS=ms :在超时之前,套接字上的发送或接收需要多长时间。 #maxIdleTimeMS=ms :池连接的最大空闲时间。 超过此限制的连接将被关闭 #maxLifeTimeMS=ms :池连接的最长生命周期。 超过此限制的连接将被关闭 #连接池配置: #maxPoolSize=n :连接池中的最大连接数。 #waitQueueTimeoutMS=ms :线程可以等待连接变为可用的最大等待时间(以毫秒为单位)。 #maxConnecting=n :池可以同时建立的最大连接数。 #写关注配置: #safe=true|false #true :驱动程序确保 MongoDB 服务器确认所有写入,否则抛出异常。 (另见w和wtimeoutMS )。 #false :驱动程序不确保所有写入都由 MongoDB 服务器确认。 #journal=true|false #true :驱动程序等待服务器对磁盘上的日志文件进行分组提交。 #false :驱动程序不会等待服务器将提交分组到磁盘上的日志文件。 #w=wValue #驱动程序将 { w : wValue } 添加到所有写入命令。 意味着safe=true 。 #wValue 通常是一个数字,但可以是任何字符串,以允许诸如"majority"类的规范 #wtimeoutMS=ms #驱动程序将 { wtimeout : ms } 添加到所有写入命令。 意味着safe=true 。 #与w结合使用 #读取首选项配置: #readPreference=enum :此连接的读取首选项。 #枚举值: #primary #primaryPreferred #secondary #secondaryPreferred #nearest #readPreferenceTags=string 。 标记集表示为逗号分隔的以冒号分隔的键值对列表,例如"dc:ny,rack:1 ”。 空格从所有键和值的开头和结尾被剥离。 要指定标签集列表,请使用多个 readPreferenceTags,例如readPreferenceTags=dc:ny,rack:1;readPreferenceTags=dc:ny;readPreferenceTags= #请注意最后一个的空值,这意味着匹配任何辅助作为最后的手段。 #使用多个 readPreferenceTag 时,顺序很重要。 #maxStalenessSeconds=seconds 。 以秒为单位的最大失效时间。 为了与任何非主要读取首选项一起使用,驱动程序根据服务器 hello 响应中提供的 lastWriteDate 值估计每个辅助节点的陈旧度,并仅选择陈旧度小于或等于 maxStalenessSeconds 的那些辅助节点。 不提供参数或将其显式设置为 -1 表示不应该进行最大过时检查。 最大陈旧功能旨在防止选择严重滞后的服务器。 陈旧估计是不精确的,不应用于尝试选择“最新”的辅助设备。 最小值为 90 秒,或心跳频率加 10 秒,取最大值。 #认证配置: #authMechanism=MONGO-CR|GSSAPI|PLAIN|MONGODB-X509 :提供凭据时使用的身份验证机制。 默认未指定,在这种情况下,客户端将根据服务器版本选择最安全的可用机制。 对于 GSSAPI 和 MONGODB-X509 机制,不接受密码,只接受用户名。 #authSource=string :身份验证凭据的来源。 这通常是已创建凭据的数据库。 该值默认为在连接字符串的路径部分中指定的数据库。 如果在这两个地方都没有指定数据库,则默认值为“admin”。 仅在使用 MONGO-CR 机制(默认)时才考虑此选项。 #authMechanismProperties=PROPERTY_NAME:PROPERTY_VALUE,PROPERTY_NAME2:PROPERTY_VALUE2 :此选项允许在连接字符串上设置身份验证机制属性。 #gssapiServiceName=string :此选项仅适用于 GSSAPI 机制,用于更改服务名称。 已弃用,请改用authMechanismProperties=SERVICE_NAME:string 。 #服务器握手配置: #appName=string :设置应用程序的逻辑名称。 客户端可以使用应用程序名称向服务器标识应用程序,用于服务器日志、慢查询日志和配置文件收集。 #压缩机配置: #compressors=string :从服务器请求的压缩器的逗号分隔列表。 当前支持的压缩器是“zlib”、“snappy”和“zstd”。 #zlibCompressionLevel=integer :代表 zlib 压缩级别的从 -1 到 9 的整数值。 较低的值会使压缩速度更快,而较高的值会使压缩效果更好。 #一般配置: #retryWrites=true|false 。 如果为 true,驱动程序将在由于网络错误而失败时重试支持的写入 *** 作。 默认为真。 #retryReads=true|false 。 如果为 true,驱动程序将在由于网络错误而失败时重试支持的读取 *** 作。 默认为真。 #uuidRepresentation=unspecified|standard|javaLegacy|csharpLegacy|pythonLegacy 。 有关此参数语义的文档,请参阅MongoClientSettings.getUuidRepresentation() 。 默认为“javaLegacy”,但在下一个主要版本中将更改为“unspecified”。 #directConnection=true|false 。 如果为 true,驱动程序会将连接设置为与主机的直接连接。 #loadBalanced=true|false 。 如果为 true,驱动程序将假定它通过负载平衡器连接到 MongoDB。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)