发行说明可在此处获取。
Java 驱动程序的参考和 API 文档可在此处获取。
此处提供了 Kotlin 驱动程序的参考和 API 文档。
此处提供了 Scala 驱动程序的参考和 API 文档。
有关如何使用 MongoDB JVM 驱动程序的教程,请参考 MongoDB University。使用 Java 驱动程序和 Kotlin 驱动程序的其他教程、视频和代码示例也可以在 MongoDB 开发人员中心找到。
有关 MongoDB Java、Kotlin 和 Scala 驱动程序的问题、疑问或反馈,请查看我们的支持渠道。请不要直接向任何驱动程序开发人员发送电子邮件提出问题或问题 - 您更有可能在 MongoDB 社区论坛或 StackOverflow 上获得答案。
请至少在您的描述中包含您正在使用的驱动程序的确切版本。如果遇到连接问题,将构造 MongoClient 实例的代码行以及传递给构造函数的所有参数的值粘贴到其中通常也很有用。您还应该检查应用程序日志中是否有任何与连接相关的异常,并发布这些异常。
您认为您在 Java、Kotlin 或 Scala 驱动程序中发现了错误吗?想要查看驱动程序中的新功能吗?请在我们的问题管理工具 JIRA 中打开案例:
JIRA 中针对驱动程序和核心服务器(即 SERVER)项目的错误报告是公开的。
如果您发现驱动程序或任何其他 MongoDB 项目中存在安全漏洞,请根据此处的说明进行报告。
当对公共 API 进行重大更改时,将发生重大增量(例如 4.x -> 5.x)。在主要版本中删除的所有方法和类都将在先前主要版本分支的先前版本中被弃用,和/或在发行说明中以其他方式调用。
当添加重要的新功能或发生重大增强或错误修复时,将发生较小的 5.x 增量(例如 5.1、5.2 等),这些增强或错误修复可能会影响某些边缘情况(例如依赖于由一个错误)。增强功能的一个示例是添加方法或类以支持添加到 MongoDB 服务器的新功能。次要版本几乎总是与同一主要版本分支的先前次要版本二进制兼容,除非下面指出。
补丁 5.xy 增量(例如 5.0.0 -> 5.0.1、5.1.1 -> 5.1.2 等)仅用于错误修复,并且始终与同一次要版本分支的先前补丁版本二进制兼容。
标有@Alpha
注释的 API 处于开发的早期阶段,在未来的版本中可能会发生不兼容的更改,甚至被删除,并且可能缺少一些预期的功能。带有@Alpha
注释的 API 可能包含影响功能、性能和稳定性的已知问题。它们也不受其包含库所做的任何兼容性保证的约束。
不建议应用程序在生产环境中使用 Alpha API,也不建议库(包含在用户的 CLASSPATH 中,不受库开发人员控制)依赖于这些 API。 Alpha API 仅用于实验目的。
在类或方法级别用@Beta
注释标记的 API 可能会发生变化。它们可以随时以任何方式修改,甚至删除。如果您的代码本身就是一个库(即它在您自己控制范围之外的用户的 CLASSPATH 上使用),那么您不应该使用 beta API,除非您重新打包它们(例如通过使用着色等)。
在类或方法级别标记有@Deprecated
注释的 API 将继续受支持,直到下一个主要版本,但建议停止使用它们。
com.mongodb.internal.*
包中的所有代码都被视为私有 API,根本不应该依赖。它可以随时改变。
Maven、Gradle、Ivy 等的二进制文件和依赖信息可以在 http://search.maven.org 找到。
Maven 示例:
< dependency >
< groupId >org.mongodb</ groupId >
< artifactId >mongodb-driver-sync</ artifactId >
< version >x.y.z</ version >
</ dependency >
快照版本也会通过 Sonatype 定期发布。
Maven 示例:
< repositories >
< repository >
< id >sonatype-snapshot</ id >
< url >https://oss.sonatype.org/content/repositories/snapshots/</ url >
</ repository >
</ repositories >
构建和编译源代码需要 Java 17+ 和 git。构建并测试驱动程序:
$ git clone https://github.com/mongodb/mongo-java-driver.git
$ cd mongo-java-driver
$ ./gradlew check
测试套件要求 mongod 与enableTestCommands
一起运行,可以使用--setParameter enableTestCommands=1
命令行参数进行设置:
$ mkdir -p data/db
$ mongod --dbpath ./data/db --logpath ./data/mongod.log --port 27017 --logappend --fork --setParameter enableTestCommands=1
如果运行测试时遇到"Too many open files"
错误,则需要在启动 mongod 之前增加可用文件描述符的数量,如 https://www.mongodb.com/docs/manual/reference/ulimit 中所述/
在 IntelliJ 中运行代码需要几个手动配置步骤:
构建和编译源代码需要 Java 17+。
错误: java: cannot find symbol: class SNIHostName location: package javax.net.ssl
修复:设置/首选项 > 构建、执行、部署 > 编译器 > Java 编译器 - 取消选中“使用‘--release’选项进行交叉编译(Java 9 及更高版本)”
错误: java: package com.mongodb.internal.build does not exist
修复:以下任意一项:
generateBuildConfig
任务:例如: ./gradlew generateBuildConfig
或通过Gradle>driver-core>Tasks>buildconfig>generateBuildConfiggenerateBuildConfig
设置为Before Build 执行。通过 Gradle > 任务 > buildconfig > 右键单击generateBuildConfig - 单击“在构建之前执行”