mongo java driver

JAVA源码 2025-08-24

发行说明

发行说明可在此处找到。

文档

可在此处提供Java驱动程序的参考文档和API文档。

Kotlin驱动程序的参考文档和API文档可在此处找到。

Scala驱动程序的参考文档和API文档可在此处找到。

教程 /培训

有关如何使用MongoDB JVM驱动程序的教程,请参考MongoDB大学。也可以在MongoDB开发人员中心找到使用Java驱动程序和Kotlin驱动程序的其他教程,视频和代码示例。

支持 /反馈

有关MongoDB Java,Kotlin和Scala驱动程序的问题,有关或反馈的问题,请研究我们的支持渠道。请不要直接向任何驾驶员开发人员发送有关问题或问题的电子邮件 - 您更有可能在MongoDB社区论坛或Stackoverflow上获得答案。

至少,请在您的描述中包含您使用的驱动程序的确切版本。如果您存在连接性问题,则通常也可以粘贴在构造Mongoclient实例的代码以及您传递给构造函数的所有参数的值的情况下也很有用。您还应该检查应用程序日志是否有任何与连接相关的例外,并将其发布。

错误 /功能请求

认为您在Java,Kotlin或Scala驱动程序中发现了一个错误?想在驱动程序中看到新功能吗?请在我们的问题管理工具JIRA中打开一个案例:

  • 创建一个帐户并登录。
  • 导航到Java项目。
  • 单击创建问题- 请提供有关问题类型,所使用的驱动程序以及如何重现问题的尽可能多的信息。

JIRA中的错误报告驱动程序和Core Server(IE Server)项目是公开的

如果您已经确定了驾驶员或任何其他MongoDB项目中的安全漏洞,请根据此处的说明进行报告。

版本控制

发行时,我们遵循语义版本控制。

@阿尔法

@Alpha注释为标记的API处于开发的早期阶段,在以后的版本中会经过不兼容的变化,甚至删除,并且可能缺乏一些预期的功能。带有@Alpha注释的API可能包含影响功能,性能和稳定性的已知问题。他们还可以免除其包含库的任何兼容性保证。

应用程序在生产环境中使用Alpha API或(将其包含在用户的类Paths,库开发人员的控件之外)来依赖这些API是不合适的。 Alpha API仅用于实验目的

@beta

在类或方法级别上标有@Beta注释的API可能会更改。可以随时以任何方式修改它们。如果您的代码是库本身(即它在您自己控件之外的用户的类中使用),则不应使用beta API,除非您重新包装它们(例如,使用阴影等)。

@Deprecated

在类或方法级别上标有@Deprecated注释的API将一直支持直到下一个主要版本,但建议停止使用它们。

com.mongodb.internal。*

com.mongodb.internal.*软件包被视为私有API,根本不应依靠。它可以随时改变。

二进制

可以在https://central.*so*nat*ype.com/search上找到Maven,Gradle,Ivy和其他人的二进制和依赖信息。

Maven的示例:

< dependency >
    < groupId >org.mongodbgroupId >
    < artifactId >mongodb-driver-syncartifactId >
    < version >x.y.zversion >
dependency >

快照构建也通过Sonatype发布了监管机构。

Maven的示例:

< repositories >
    < repository >
        < name >Central Portal Snapshotsname >
        < id >central-portal-snapshotsid >
        < url >https://central.s**o*natype.com/repository/maven-snapshots/url >
        < releases >
            < enabled >falseenabled >
        releases >
        < snapshots >
            < enabled >trueenabled >
        snapshots >
    repository >
repositories >

建造

Java 17+和Git需要构建和编译源。构建和测试驱动程序:

 $ git clone --recurse-submodules https://github.c**om*/mongodb/mongo-java-driver.git
$ cd mongo-java-driver
$ ./gradlew check

测试套件要求使用enableTestCommands运行Mongod,可以使用--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.mon**go*db.com/docs/manual/manual/reeference/reimit//

Intellij Idea

在Intellij中运行代码需要几个手动配置步骤:

  • 构建和编译源需要Java 17+。

  • 错误: java: cannot find symbol: class SNIHostName location: package javax.net.ssl
    修复:设置/首选项>构建,执行,部署>编译器> Java编译器-Untick“使用' - 释放'选项进行交叉编译(Java 9及以后)”

  • 错误: java: package com.mongodb.internal.build does not exist
    修复:以下任何一个:

    • 运行generateBuildConfig任务:EG: ./gradlew generateBuildConfig或通过gradle> driver-core> task> buildConfig> generateBuildConfig
    • 设置generateBuildConfig在构建之前执行。通过gradle>“任务”> buildConfig>右键单击GenerateBuildConfig-单击“执行之前”
    • 将所有构建操作委派给Gradle:设置/首选项>构建,执行,部署>构建工具> Gradle>使用/运行/运行/运行/运行的测试使用 - 选择“ Gradle”
下载源码

通过命令行克隆项目:

git clone https://github.com/mongodb/mongo-java-driver.git