คู่มือ Java Connection to MongoDB สำหรับ Database
คู่มือนี้เรียบเรียงสำหรับ Ruk-Com PaaS หน้าจอและตัวเลือกอาจแตกต่างตามเวอร์ชันและสิทธิ์ของบัญชี
ตรวจสอบ Environment, Region, สิทธิ์บัญชี และสำรองค่าปัจจุบันก่อนดำเนินการกับระบบจริง
คำสั่ง ชื่อเมนู Parameter และค่าตัวอย่างในกรอบ Code คงรูปแบบตามระบบเพื่อให้คัดลอกและตรวจสอบได้ถูกต้อง
MongoDBเป็นหนึ่งใน Database NoSQL ที่ได้รับความนิยมมากที่สุดซึ่งสามารถใช้งานได้ง่ายภายใน Platform ในคู่มือนี้เราจะแสดงวิธีเชื่อมต่อ Instance นี้กับแอปของคุณและดำเนินการง่ายๆบางอย่าง
สร้าง Environment
-
เข้าสู่ระบบบัญชี PaaS ของคุณ
-
สร้าง EnvironmentกับMongoDBInstance (มีอยู่ในNoSQLส่วน). Application Server ที่ต้องการสำหรับแอปของคุณที่จะ Deploy สามารถอยู่ใน Environment เดียวกันหรือแยกต่างหาก (ตามตัวอย่างเราได้เพิ่มแมวตัวผู้):
คลิกสร้างและรอสองสามนาทีเพื่อให้ Environment ของคุณปรากฏที่ Dashboard
การกำหนดค่า MongoDB
- ตรวจสอบกล่องจดหมายอีเมลของคุณ - ควรมีข้อความพร้อมรายละเอียด Database:
2. คลิกที่เปิดใน Browserปุ่มสำหรับMongoDBNode ภายใน Dashboard ของคุณหรือใช้URL การเข้าถึงจากอีเมลเพื่อเข้าถึงแผงผู้ดูแลระบบ Database
เข้าสู่ระบบโดยใช้ข้อมูลประจำตัวดังกล่าวข้างต้น
- สร้าง Database ใหม่โดยสลับไปที่Databaseแท็บแล้วพิมพ์กชื่อสำหรับมัน (เช่นmongodb-เชื่อมต่อ) ภายในสร้าง Databaseรูปร่าง.
- ถัดไปคุณต้องสร้างผู้ใช้สำหรับ Database นี้ - ดังนั้นให้ไปที่ดำเนินการและเลือก Database ที่คุณสร้างขึ้นใหม่ผ่านรายการแบบเลื่อนลงที่เกี่ยวข้อง
จากนั้นพิมพ์คำสั่งต่อไปนี้ภายในกรอบอินพุตด้านบน:
db.createUser({ ผู้ใช้: “ชื่อผู้ใช้”, แจ้ง: “รหัสผ่าน”, บทบาท:[{ บทบาท: “readWrite”, db: “db_name”}]})
ที่ไหน:
- ชื่อผู้ใช้- ชื่อที่ต้องการของผู้ใช้ DB ใหม่ของคุณ
- รหัสผ่าน- รหัสผ่านสำหรับผู้ใช้รายนี้
- db_name- ชื่อของ Database ที่ผู้ใช้สร้างขึ้นใหม่จะได้รับอ่าน/เขียนสิทธิ์สำหรับ
หลังจากนั้นให้คลิกที่ดำเนินการและรอการตอบกลับสำเร็จ
- ตอนนี้กลับไปที่ Dashboard และสร้างไฟล์แยกต่างหากสำหรับจัดเก็บข้อมูลการเชื่อมต่อ Database
บันทึก:ที่คุณสามารถระบุทั้งหมดที่จำเป็นสำหรับข้อมูลการเชื่อมต่อได้โดยตรงใน Code ของคุณ (Application) ในตัวอย่างที่กำหนดเราใส่การตั้งค่าเหล่านี้ลงในไฟล์ซึ่ง Application ทดสอบของเราอ่านได้ (แสดงอยู่ในส่วนคำแนะนำถัดไป)
คลิกที่การกำหนดค่าปุ่มถัดจาก Application Server ของคุณใน Environment ที่เกี่ยวข้อง (แมวตัวผู้ในกรณีของเรา)
ในแท็บที่เปิดอยู่ให้สร้างแท็บใหม่mydb.cfgไฟล์ภายในบ้านDirectory และระบุสตริงต่อไปนี้ที่นั่น:
สำเนา
host={db_access_url}
dbname={db_name}
user={user_name}
password={password}
- {db_access_url}- เชื่อมโยงไปยังแผงผู้ดูแลระบบ Database (ค้นหาได้ในอีเมลที่เกี่ยวข้องหรือคลิกเปิดใน BrowserถัดจากของคุณMongoDBNode และคัดลอกจากแถบที่อยู่) โดยไม่ต้องhttps://ส่วนหนึ่ง
- {db_name}- ชื่อของ Database ที่สร้างขึ้น (mongodb-เชื่อมต่อในกรณีของเรา)
- {ชื่อผู้ใช้}- ชื่อของผู้ใช้ DB ที่คุณกำหนดให้กับ Database นี้ (ดีบัสเซอร์ในกรณีของเรา)
- {รหัสผ่าน}- รหัสผ่านของผู้ใช้ที่เกี่ยวข้อง
อย่าลืมที่จะบันทึกการเปลี่ยนแปลง
การ Deploy Application
- ตอนนี้คุณสามารถ Deploy โปรเจ็กต์ของคุณกับ Environment ที่เตรียมไว้ได้แล้ว
ตามตัวอย่างนี่คือ Code ของ Application ของเราซึ่งมีจุดประสงค์เพื่อทดสอบการเชื่อมต่อกับ Node MongoDB ของเรา
MongoManager.java
จาวาคัดลอก
package example;
import com.mongodb.*;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.Date;
import java.util.Properties;
public class MongoManager {
static String host, dbname, user, password;
public void addData(int repeats) {
try {
Properties prop = new Properties();
prop.load(new FileInputStream(System.getProperty("user.home") + "/mydb.cfg"));
host = prop.getProperty("host").toString();
dbname = prop.getProperty("dbname").toString();
user = prop.getProperty("user").toString();
password = prop.getProperty("password").toString();
System.out.println("host: " + host + "\ndbname: " + dbname + "\nuser: " + user + "\npassword: " + password);
MongoCredential credential = MongoCredential.createCredential(user, dbname, password.toCharArray());
MongoClient mongoClient = new MongoClient(new ServerAddress(host), Arrays.asList(credential));
MongoDatabase db = mongoClient.getDatabase(dbname);
try {
db.getCollection("mycollection");
} catch (Exception e) {
db.createCollection("mycollection", null);
System.out.println("Repeats: " + repeats);
for (int i = 1; i <= repeats; i++) {
Document document = new Document("data", new Date());
db.getCollection("mycollection").insertOne(document);
System.out.println("INFO: row added " + document);
}
} finally {
mongoClient.close();
}
} catch (IOException ex) {
}
}
}
- Application ใดๆก็สามารถ Deploy ได้โดยใช้ Platform ใดก็ได้ผู้จัดการฝ่าย Deploy(โดยมีไฟล์ในเครื่อง/URL เป็นแหล่งที่มา) หรือมาเวน(สำหรับการ Deploy จาก GIT/SVN)
สำหรับการทดสอบคุณสามารถลองใช้แบบพร้อมใช้งานของเราได้mongoclient.warโปรเจ็กต์ซึ่งมีไดรเวอร์ตัวเชื่อมต่อที่เหมาะสมอยู่แล้ว (หรือดาวน์โหลดแหล่งที่มาและปรับแต่งตามต้องการ)
บันทึก:ในการเชื่อมต่อโปรเจ็กต์ของคุณเองกับ Database MongoDB คุณต้องอัปโหลดไฟล์ที่เหมาะสมmongo-java-driver.ไหห้องสมุดไปยังwebapps/{app_context}/WEB-INF/libโฟลเดอร์ของ Server แอปของคุณด้วย Application ที่ Deploy
- ด้วยเหตุนี้คุณจะได้รับ Environment ที่คล้ายคลึงกับ Environment ด้านล่าง:
ตรวจสอบการเชื่อมต่อ
- คลิกเปิดใน Browserถัดจาก Environment ของคุณด้วยแอปตัวอย่างของเราที่ Deploy คุณจะเห็นหน้าต่างใหม่เปิดขึ้นด้วยความเรียบง่ายผู้จัดการ MongoDBแบบฟอร์มที่แสดง
พิมพ์จำนวนแถวที่ต้องการ (สำหรับเพิ่มลงใน Database ที่เกี่ยวข้อง) ลงในช่องที่เหมาะสมแล้วคลิกแทรกแถวปุ่ม.
- รอสักครู่จนกว่าเพจจะหยุดอัปเดตและกลับสู่แผงผู้ดูแลระบบ MongoDB
นำทางไปยังmongodb-เชื่อมต่อDatabase ภายในรายการด้านซ้ายและตรวจสอบรายการใหม่คอลเลกชันของฉันคอลเลกชันภายใน - ควรรวมจำนวนบันทึกที่ระบุไว้ข้างต้น5ในกรณีของเรา
อย่างที่คุณเห็นทุกอย่างทำงานได้ดีเนื่องจาก Application สามารถเชื่อมต่อกับ Database ของเราได้ตอนนี้คุณสามารถใช้แผงผู้ดูแลระบบเพื่อดำเนินการอื่นๆที่จำเป็นกับ Database ของคุณได้ในลักษณะเดียวกัน
มีประโยชน์ที่จะรู้
เอกสารประกอบของ Platform ยังมีคำแนะนำเสริมจำนวนหนึ่งสำหรับ Server MongoDB ซึ่งอาจมีประโยชน์แม้กระทั่งกับผู้ใช้ที่คุ้นเคยและมีประสบการณ์:
- กำหนดค่าชุดแบบจำลองด้วยจำนวน Node MongoDB ที่ไม่สม่ำเสมอเพื่อใช้งานการจำลองแบบมาสเตอร์-สเลฟและ Failover อัตโนมัติพร้อมกัน
- มั่นใจในความปลอดภัยของข้อมูลด้วยการปรับการกำหนดการสำรองข้อมูล- ป้องกันข้อมูลสูญหายและช่วยให้สามารถกู้คืนได้ในกรณีที่ Server ขัดข้องโดยไม่คาดคิด
- เรียนรู้วิธีการสร้างการเข้าถึงระยะไกลไปยัง Database ของคุณเพื่อรับความสามารถในการทำงานกับมันผ่าน Application Client ที่เหมาะสมแม้ว่าจะไม่จำเป็นต้องลงชื่อเข้าใช้ Dashboard ของเราก็ตาม
- อ่านการนำเข้า/ส่งออกการถ่ายโอนข้อมูลคำแนะนำเพื่อค้นหาวิธีสำรองข้อมูลของคุณภายในไฟล์ดัมพ์ด้วยตนเองและกู้คืนจากดัมพ์ที่สร้างไว้ก่อนหน้านี้หากจำเป็น




