Catatan rilis tersedia di sini.
Referensi dan dokumentasi API untuk driver Java tersedia di sini.
Referensi dan dokumentasi API untuk driver Kotlin tersedia di sini.
Referensi dan dokumentasi API untuk driver Scala tersedia di sini.
Untuk tutorial tentang cara menggunakan Driver JVM MongoDB, silakan merujuk ke Universitas MongoDB. Tutorial tambahan, video, dan contoh kode menggunakan Driver Java dan Driver Kotlin juga dapat ditemukan di Pusat Pengembang MongoDB.
Untuk masalah, pertanyaan tentang, atau masukan untuk driver MongoDB Java, Kotlin, dan Scala, silakan lihat saluran dukungan kami. Harap jangan mengirim email langsung ke pengembang driver mana pun jika ada masalah atau pertanyaan - kemungkinan besar Anda akan mendapatkan jawaban di Forum Komunitas MongoDB atau StackOverflow.
Minimal, harap sertakan dalam deskripsi Anda versi persis driver yang Anda gunakan. Jika Anda mengalami masalah konektivitas, sering kali juga berguna untuk menempelkan baris kode tempat Anda membuat instance MongoClient, bersama dengan nilai semua parameter yang Anda teruskan ke konstruktor. Anda juga harus memeriksa log aplikasi Anda untuk mengetahui adanya pengecualian terkait konektivitas dan mempostingnya juga.
Anda pikir Anda menemukan bug pada driver Java, Kotlin, atau Scala? Ingin melihat fitur baru di driver? Silakan buka kasus di alat manajemen masalah kami, JIRA:
Laporan bug di JIRA untuk driver dan proyek Core Server (yaitu SERVER) bersifat publik .
Jika Anda mengidentifikasi kerentanan keamanan pada driver atau proyek MongoDB lainnya, harap laporkan sesuai dengan petunjuk di sini.
Peningkatan besar (seperti 4.x -> 5.x) akan terjadi ketika perubahan besar dilakukan pada API publik. Semua metode dan kelas yang dihapus dalam rilis utama tidak lagi digunakan dalam rilis sebelumnya dari cabang rilis utama sebelumnya, dan/atau disebutkan dalam catatan rilis.
Peningkatan kecil 5.x (seperti 5.1, 5.2, dll) akan terjadi ketika fungsionalitas baru yang tidak sepele ditambahkan atau terjadi peningkatan atau perbaikan bug yang signifikan yang mungkin memiliki perubahan perilaku yang dapat memengaruhi beberapa kasus edge (seperti ketergantungan pada perilaku yang dihasilkan dari sebuah serangga). Contoh peningkatan adalah metode atau kelas yang ditambahkan untuk mendukung fungsionalitas baru yang ditambahkan ke server MongoDB. Rilis minor hampir selalu kompatibel dengan biner dengan rilis minor sebelumnya dari cabang rilis mayor yang sama, kecuali seperti disebutkan di bawah.
Kenaikan patch 5.xy (seperti 5.0.0 -> 5.0.1, 5.1.1 -> 5.1.2, dll) akan terjadi hanya untuk perbaikan bug dan akan selalu kompatibel dengan biner dengan rilis patch sebelumnya dari cabang rilis minor yang sama .
API yang ditandai dengan anotasi @Alpha
sedang dalam tahap awal pengembangan, dapat mengalami perubahan yang tidak kompatibel, atau bahkan penghapusan, pada rilis mendatang dan mungkin kekurangan beberapa fitur yang diharapkan. API yang memuat anotasi @Alpha
mungkin berisi masalah umum yang memengaruhi fungsi, performa, dan stabilitas. Mereka juga dibebaskan dari jaminan kompatibilitas apa pun yang dibuat oleh perpustakaan yang memuatnya.
Tidak disarankan bagi aplikasi untuk menggunakan API Alpha di lingkungan produksi atau perpustakaan (yang disertakan dalam CLASSPATH pengguna, di luar kendali pengembang perpustakaan) untuk bergantung pada API ini. Alpha API dimaksudkan untuk tujuan eksperimental saja.
API yang ditandai dengan anotasi @Beta
pada tingkat kelas atau metode dapat berubah. Mereka dapat dimodifikasi dengan cara apa pun, atau bahkan dihapus, kapan saja. Jika kode Anda adalah perpustakaan itu sendiri (yaitu digunakan pada CLASSPATH pengguna di luar kendali Anda), Anda tidak boleh menggunakan API beta, kecuali Anda mengemasnya ulang (misalnya dengan menggunakan bayangan, dll).
API yang ditandai dengan anotasi @Deprecated
pada tingkat kelas atau metode akan tetap didukung hingga rilis besar berikutnya, namun disarankan untuk berhenti menggunakannya.
Semua kode di dalam paket com.mongodb.internal.*
dianggap sebagai API pribadi dan tidak boleh diandalkan sama sekali. Itu bisa berubah kapan saja.
Informasi biner dan ketergantungan untuk Maven, Gradle, Ivy, dan lainnya dapat ditemukan di http://search.maven.org.
Contoh untuk Maven:
< dependency >
< groupId >org.mongodb</ groupId >
< artifactId >mongodb-driver-sync</ artifactId >
< version >x.y.z</ version >
</ dependency >
Pembuatan snapshot juga diterbitkan secara teratur melalui Sonatype.
Contoh untuk Maven:
< repositories >
< repository >
< id >sonatype-snapshot</ id >
< url >https://oss.sonatype.org/content/repositories/snapshots/</ url >
</ repository >
</ repositories >
Java 17+ dan git diperlukan untuk membangun dan mengkompilasi sumbernya. Untuk membangun dan menguji driver:
$ git clone https://github.com/mongodb/mongo-java-driver.git
$ cd mongo-java-driver
$ ./gradlew check
Rangkaian pengujian memerlukan mongod untuk dijalankan dengan enableTestCommands
, yang dapat diatur dengan parameter baris perintah --setParameter enableTestCommands=1
:
$ mkdir -p data/db
$ mongod --dbpath ./data/db --logpath ./data/mongod.log --port 27017 --logappend --fork --setParameter enableTestCommands=1
Jika Anda menemukan kesalahan "Too many open files"
saat menjalankan pengujian, maka Anda perlu menambah jumlah deskriptor file yang tersedia sebelum memulai mongod seperti yang dijelaskan di https://www.mongodb.com/docs/manual/reference/ulimit /
Beberapa langkah konfigurasi manual diperlukan untuk menjalankan kode di IntelliJ:
Java 17+ diperlukan untuk membangun dan mengkompilasi sumbernya.
Kesalahan: java: cannot find symbol: class SNIHostName location: package javax.net.ssl
Perbaiki: Pengaturan/Preferensi > Bangun, Eksekusi, Penerapan > Kompiler > Java Compiler - hapus centang "Gunakan opsi '--release' untuk kompilasi silang (Java 9 dan yang lebih baru)"
Kesalahan: java: package com.mongodb.internal.build does not exist
Perbaikan: Salah satu dari berikut ini:
generateBuildConfig
: misalnya: ./gradlew generateBuildConfig
atau melalui Gradle > driver-core > Tasks > buildconfig > generateBuildConfiggenerateBuildConfig
untuk dijalankan Sebelum Build. melalui Gradle > Tasks > buildconfig > klik kanan generateBuildConfig - klik "Execute Before Build"