บันทึกประจำรุ่นมีอยู่ที่นี่
เอกสารอ้างอิงและ API สำหรับไดรเวอร์ Java มีอยู่ที่นี่
เอกสารอ้างอิงและ API สำหรับไดรเวอร์ Kotlin มีอยู่ที่นี่
เอกสารอ้างอิงและ API สำหรับไดรเวอร์ Scala มีอยู่ที่นี่
สำหรับบทช่วยสอนเกี่ยวกับวิธีใช้ไดรเวอร์ MongoDB JVM โปรดอ้างอิงถึง MongoDB University บทช่วยสอน วิดีโอ และตัวอย่างโค้ดเพิ่มเติมที่ใช้ทั้งไดรเวอร์ Java และไดรเวอร์ Kotlin สามารถพบได้ใน MongoDB Developer Center
สำหรับปัญหา คำถาม หรือข้อเสนอแนะเกี่ยวกับไดรเวอร์ MongoDB Java, Kotlin และ Scala โปรดดูช่องทางการสนับสนุนของเรา โปรดอย่าส่งอีเมลถึงนักพัฒนาไดรเวอร์โดยตรงเพื่อแจ้งปัญหาหรือคำถาม คุณมีแนวโน้มที่จะได้รับคำตอบในฟอรัมชุมชน MongoDB หรือ StackOverflow
อย่างน้อยที่สุด โปรดระบุเวอร์ชันของไดรเวอร์ที่คุณใช้อยู่ในคำอธิบายของคุณ หากคุณมีปัญหาในการเชื่อมต่อ การวางบรรทัดโค้ดที่คุณสร้างอินสแตนซ์ MongoClient ลงในบรรทัดโค้ดก็มักจะมีประโยชน์เช่นกัน พร้อมด้วยค่าของพารามิเตอร์ทั้งหมดที่คุณส่งไปยังตัวสร้าง คุณควรตรวจสอบบันทึกแอปพลิเคชันของคุณเพื่อดูข้อยกเว้นที่เกี่ยวข้องกับการเชื่อมต่อและโพสต์สิ่งเหล่านั้นด้วย
คิดว่าคุณพบข้อบกพร่องในไดรเวอร์ Java, Kotlin หรือ Scala หรือไม่ ต้องการเห็นคุณสมบัติใหม่ในไดรเวอร์หรือไม่? โปรดเปิดเคสในเครื่องมือการจัดการปัญหาของเรา JIRA:
รายงานข้อผิดพลาดใน JIRA สำหรับไดรเวอร์และโครงการ Core Server (เช่น SERVER) เป็น แบบสาธารณะ
หากคุณระบุช่องโหว่ด้านความปลอดภัยในไดรเวอร์หรือโครงการ MongoDB อื่น ๆ โปรดรายงานตามคำแนะนำที่นี่
การเพิ่มขึ้นที่สำคัญ (เช่น 4.x -> 5.x) จะเกิดขึ้นเมื่อมีการเปลี่ยนแปลงที่ทำกับ API สาธารณะ วิธีการและคลาสทั้งหมดที่ถูกลบออกในรุ่นหลักจะถูกเลิกใช้แล้วในรุ่นก่อนหน้าของสาขารุ่นหลักก่อนหน้า และ/หรือมีการระบุไว้ในบันทึกย่อประจำรุ่น
การเพิ่มขึ้นเล็กน้อยของ 5.x (เช่น 5.1, 5.2 เป็นต้น) จะเกิดขึ้นเมื่อมีการเพิ่มฟังก์ชันการทำงานใหม่ที่ไม่สำคัญ หรือมีการปรับปรุงหรือแก้ไขข้อบกพร่องที่สำคัญเกิดขึ้น ซึ่งอาจมีการเปลี่ยนแปลงพฤติกรรมที่อาจส่งผลกระทบต่อบางกรณี Edge (เช่น การพึ่งพาพฤติกรรมที่เป็นผลมาจาก จุดบกพร่อง) ตัวอย่างของการปรับปรุงคือวิธีการหรือคลาสที่เพิ่มเพื่อรองรับการทำงานใหม่ที่เพิ่มลงในเซิร์ฟเวอร์ MongoDB รุ่นรองเกือบจะเป็นไบนารีที่เข้ากันได้กับรุ่นรองก่อนหน้าจากสาขารุ่นหลักเดียวกัน ยกเว้นตามที่ระบุไว้ด้านล่าง
การเพิ่มขึ้นของแพตช์ 5.xy (เช่น 5.0.0 -> 5.0.1, 5.1.1 -> 5.1.2 เป็นต้น) จะเกิดขึ้นสำหรับการแก้ไขข้อบกพร่องเท่านั้น และจะเป็นไบนารี่ที่เข้ากันได้กับแพตช์ก่อนหน้าของเวอร์ชันย่อยเดียวกันเสมอ .
API ที่มีเครื่องหมาย @Alpha
อยู่ในขั้นเริ่มต้นของการพัฒนา อาจมีการเปลี่ยนแปลงที่เข้ากันไม่ได้ หรือแม้แต่การลบออกในรุ่นต่อๆ ไป และอาจขาดคุณสมบัติที่ตั้งใจไว้บางประการ API ที่มีคำอธิบายประกอบ @Alpha
อาจมีปัญหาที่ทราบซึ่งส่งผลต่อฟังก์ชันการทำงาน ประสิทธิภาพ และความเสถียร พวกเขายังได้รับการยกเว้นจากการรับประกันความเข้ากันได้ใด ๆ ที่ทำโดยไลบรารีที่มีอยู่
ไม่แนะนำให้ แอปพลิเคชัน ใช้ Alpha API ในสภาพแวดล้อมการผลิตหรือสำหรับ ไลบรารี (ซึ่งรวมอยู่ใน CLASSPATH ของผู้ใช้ ซึ่งอยู่นอกการควบคุมของนักพัฒนาไลบรารี) เพื่อพึ่งพา API เหล่านี้ Alpha API มีวัตถุประสงค์เพื่อ การทดลอง เท่านั้น
API ที่ทำเครื่องหมายด้วยคำอธิบายประกอบ @Beta
ในระดับคลาสหรือเมธอดอาจมีการเปลี่ยนแปลง สามารถแก้ไขด้วยวิธีใดก็ได้หรือลบออกเมื่อใดก็ได้ หากโค้ดของคุณคือไลบรารี (เช่น ใช้กับ CLASSPATH ของผู้ใช้ที่อยู่นอกการควบคุมของคุณเอง) คุณไม่ควรใช้ API เบต้า เว้นแต่คุณจะทำแพ็กเกจใหม่ (เช่น โดยใช้การแรเงา เป็นต้น)
API ที่ทำเครื่องหมายด้วยคำอธิบายประกอบ @Deprecated
ที่ระดับคลาสหรือเมธอด จะยังคงได้รับการสนับสนุนจนถึงรุ่นหลักถัดไป แต่ขอแนะนำให้หยุดใช้งาน
โค้ดทั้งหมดภายในแพ็คเกจ 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
เพื่อดำเนินการก่อน Build ผ่าน Gradle > งาน > buildconfig > คลิกขวา createBuildConfig - คลิกที่ "ดำเนินการก่อนสร้าง"