บทช่วยสอน การเชื่อมต่อ MongoDB ที่ดีที่สุดในปี 2024 ในบทช่วยสอนนี้ คุณสามารถเรียนรู้ เริ่มบริการ MongoDB,บริการเชื่อมต่อ MongoDB ผ่านเปลือก,การเชื่อมต่อ MongoDB ไวยากรณ์,ตัวอย่างของการเชื่อมต่อ,พารามิเตอร์ตัวเลือกคำอธิบาย,

การเชื่อมต่อ MongoDB

ในการกวดวิชานี้เราจะหารือการเชื่อมต่อที่แตกต่างกันสำหรับ MongoDB


เริ่มบริการ MongoDB

ในการกวดวิชาก่อนหน้านี้เราได้กล่าวถึง วิธีการที่จะเริ่มต้นเซิร์ฟเวอร์ MongoDB บริการคุณจะต้องดำเนินการ 'mongod สามารถอยู่ในไดเรกทอรี bin ไดเรกทอรีการติดตั้ง MongoDB

หลังจากการดำเนินการเริ่มต้นการส่งออก MongoDB หลังจากที่ข้อมูลที่จำเป็นบางส่วนจะส่งออกไม่ได้ข้อมูลใด ๆ แล้วรอสำหรับการเชื่อมต่อจะจัดตั้งขึ้นเมื่อการเชื่อมต่อจะจัดตั้งขึ้นก็จะเริ่มต้นข้อมูลบันทึกการพิมพ์

คุณสามารถใช้เปลือก MongoDB MongoDB ในการเชื่อมต่อไปยังเซิร์ฟเวอร์ นอกจากนี้คุณยังสามารถใช้ PHP ในการเชื่อมต่อกับ MongoDB กวดวิชานี้เราจะใช้ในการเชื่อมต่อกับบริการ MongoDB เปลือก MongoDB ภายหลังบทที่เราจะอธิบายวิธีการเชื่อมต่อกับบริการ MongoDB ผ่าน PHP



บริการเชื่อมต่อ MongoDB ผ่านเปลือก

คุณสามารถเชื่อมต่อบริการ MongoDB โดยการดำเนินการคำสั่งต่อไป

หมายเหตุ: localhost เป็นชื่อโฮสต์ตัวเลือกนี้จะต้อง:

MongoDB: // localhost

เมื่อคุณรันคำสั่งข้างต้นคุณสามารถเห็นผลลัพธ์ต่อไปนี้:

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
> mongodb://localhostmongodb://localhost
th. 

เวลานี้คุณกลับมาตรวจสอบหน้าต่างคำสั่ง Run ./mongod จากที่คุณสามารถดูการเชื่อมต่อไปยังเซิร์ฟเวอร์ MongoDB คุณสามารถดูข้อมูลต่อไปนี้:

……省略信息……
2015-09-25T17:22:27.336+0800 I CONTROL  [initandlisten] allocator: tcmalloc
2015-09-25T17:22:27.336+0800 I CONTROL  [initandlisten] options: { storage: { dbPath: "/data/db" } }
2015-09-25T17:22:27.350+0800 I NETWORK  [initandlisten] waiting for connections on port 27017
2015-09-25T17:22:36.012+0800 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:37310 #1 (1 connection now open)  # 该行表明一个来自本机的连接

……省略信息……


การเชื่อมต่อ MongoDB ไวยากรณ์

โดยใช้ชื่อผู้ใช้และรหัสผ่านเพื่อเชื่อมต่อกับเซิร์ฟเวอร์ MongoDB คุณต้องใช้ 'ชื่อผู้ใช้: รหัสผ่าน @ ชื่อโฮสต์ / dbname ' รูปแบบ 'ชื่อผู้ใช้' ชื่อผู้ใช้ password 'เป็นรหัสผ่าน

ชื่อเข้าสู่ระบบของผู้ใช้และรหัสผ่านเพื่อเชื่อมต่อกับฐานข้อมูลเริ่มต้น:

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
mongodb://admin:123456@localhost/

คำสั่งดังกล่าวที่ผู้ใช้รหัสผ่านผู้ดูแล 123456 เพื่อเชื่อมต่อกับบริการ MongoDB ท้องถิ่น การส่งออกจะเป็นดังนี้: <p>

> mongodb://admin:123456@localhost/
th. 

ชื่อเข้าสู่ระบบผู้ใช้และรหัสผ่านเพื่อเชื่อมต่อกับฐานข้อมูลที่ระบุ:

เชื่อมต่อกับฐานข้อมูลที่ระบุในรูปแบบดังต่อไปนี้:

MongoDB: // ผู้ดูแลระบบ: 123456 @ localhost / ทดสอบ


ตัวอย่างของการเชื่อมต่อ

เชื่อมต่อกับเซิร์ฟเวอร์ฐานข้อมูลท้องถิ่นพอร์ตเป็นค่าเริ่มต้น

MongoDB: // localhost

ชื่อผู้ใช้: เฟร็ด foobar รหัสผ่านเข้าสู่ระบบฐานข้อมูล localhost ผู้ดูแลระบบ

MongoDB: // เฟร็ด: foobar @ localhost

ชื่อผู้ใช้: เฟร็ดรหัสผ่านเข้าสู่ระบบ foobar localhost Baz ของฐานข้อมูล

MongoDB: // เฟร็ด: foobar @ localhost / Baz

การเชื่อมต่อแบบจำลองคู่เซิร์ฟเวอร์ 1 เซิร์ฟเวอร์ example1.com 2 example2

MongoDB: //example1.com: 27017, example2.com: 27017

เชื่อมต่อชุดแบบจำลองสามเซิร์ฟเวอร์ (พอร์ต 27017, 27018 และ 27019):

MongoDB: // localhost, localhost: 27018, localhost: 27019

เชื่อมต่อชุดแบบจำลองสามเซิร์ฟเวอร์เขียนไว้ในเซิร์ฟเวอร์โปรแกรมหลักและกระจายแบบสอบถามไปยังเซิร์ฟเวอร์

MongoDB: // host1, host2, host3 / slaveOk = จริงหรือไม่?

การเชื่อมต่อโดยตรงไปยังเซิร์ฟเวอร์แรกไม่ว่าจะเป็นส่วนหนึ่งของชุดแบบจำลองหรือเซิร์ฟเวอร์หลักหรือจากเซิร์ฟเวอร์

MongoDB: // host1, host2, host3 / การเชื่อมต่อโดยตรง =; = slaveOk จริงหรือไม่?

เมื่อคุณเชื่อมต่อกับเซิร์ฟเวอร์ที่มีความสำคัญ แต่ยังต้องรายการเซิร์ฟเวอร์ทั้งหมดคุณสามารถใช้โหมดการเชื่อมต่อ

Safe Mode เพื่อเชื่อมต่อกับ localhost:

MongoDB :? // localhost / ปลอดภัย = true

Safe Mode เชื่อมต่อกับชุดแบบจำลองและรออย่างน้อยสองเขียนเซิร์ฟเวอร์จำลองแบบประสบความสำเร็จในการตั้งค่าการหมดเวลา 2 วินาที

MongoDB: // host1, host2, host3 / ปลอดภัย = true; W = 2; wtimeoutMS = 2000


พารามิเตอร์ตัวเลือกคำอธิบาย

รูปแบบมาตรฐาน:

MongoDB: // [ชื่อผู้ใช้: รหัสผ่าน @] host1 [: พอร์ต 1] [host2 [: พอร์ต 2] th. [hostN [: portN]]] [/ [ฐานข้อมูล] [ตัวเลือก]?]

รูปแบบการเชื่อมต่อมาตรฐานมีหลายตัวเลือก (ตัวเลือก) ดังต่อไปนี้:

ตัวเลือก ลักษณะ
replicaSet = ชื่อ ตรวจสอบว่าชื่อของแบบจำลองที่กำหนด Impliesconnect = replicaSet
slaveOk = true | เท็จ
  • จริง: ภายใต้เชื่อมต่อ = โหมดโดยตรงไดรฟ์จะต้องเชื่อมต่อกับเครื่องแรกถึงแม้ว่ามันจะไม่ได้เป็นเซิร์ฟเวอร์หลัก ภายใต้โหมด Connect = replicaSet ขับจะส่งทั้งหมดเขียนคำขอไปยังหลักและอื่น ๆ ที่อยู่ในการดำเนินการอ่านจากเซิร์ฟเวอร์
  • เท็จ: ภายใต้การเชื่อมต่อ = โหมดโดยตรงไดรฟ์อัตโนมัติจะพบเซิร์ฟเวอร์หลักที่โหมด Connect = replicaSet ไดรฟ์มีการเชื่อมต่อกับเซิร์ฟเวอร์หลักและทุกการอ่านและเขียนคำสั่งที่มีการเชื่อมต่อกับเซิร์ฟเวอร์หลัก
ปลอดภัย = true | เท็จ
    • จริง: หลังจากการดำเนินการปรับปรุงไดรฟ์จะส่ง GetLastError คำสั่งเพื่อให้มั่นใจว่าการปรับปรุงจะประสบความสำเร็จ (นอกจากนี้ยังหมายถึง wtimeoutMS)
เท็จ: หลังจากการปรับปรุงแต่ละคนขับจะไม่ส่ง GetLastError เพื่อให้แน่ใจว่าการปรับปรุงที่ประสบความสำเร็จ
W = n ไดรฟ์เพิ่ม {w: n} คำสั่งใช้กับ GetLastError ปลอดภัย = จริง th
wtimeoutMS = MS ไดรฟ์เพิ่ม {wtimeout: MS} คำสั่งใช้กับ GetLastError ปลอดภัย = จริง th
fsync = true | เท็จ
  • จริง: ขับรถเพิ่ม {fsync: จริง}. GetLastError คำสั่งจะมีผลกับความปลอดภัย = true
  • เท็จไดรฟ์จะไม่เพิ่มคำสั่ง GetLastError
วารสาร = true | เท็จ ถ้าตั้งค่าเป็นจริงตรงกับวารสาร (เป็นลายลักษณ์อักษรไปยังฐานข้อมูลก่อนที่จะส่งไปยังนิติบุคคล). นำไปใช้กับความปลอดภัย = true
connectTimeoutMS = MS คุณสามารถเปิดเวลาการเชื่อมต่อ
socketTimeoutMS = MS ส่งและรับซ็อกเก็ตของเวลา
การเชื่อมต่อ MongoDB
10/30