คำสั่ง MongoDB ทั่วไปส่วนใหญ่สำหรับผู้เริ่มต้น MongoDB [2022]
เผยแพร่แล้ว: 2021-01-06สารบัญ
การบันทึกด้วย MongoDB
คำสั่งต่อไปนี้ใช้กับการเข้าสู่ระบบด้วย MongoDB
mongo -u <ชื่อผู้ใช้> -p <รหัสผ่าน> –authenticationDatabase <db_name> |
หมายเหตุ: ผู้ใช้ต้องมีข้อมูลประจำตัวและชื่อฐานข้อมูลที่ถูกต้องสำหรับการเข้าถึง
สร้างฐานข้อมูลและเลือกฐานข้อมูลที่จะใช้งาน
ใน MongoDB คำสั่ง 'use' เป็นขั้นตอนแรกในการสร้างฐานข้อมูลใหม่
ไวยากรณ์:
ใช้ db_name |
ในการดำเนินการ คำสั่งนี้จะสร้างฐานข้อมูลใหม่สำหรับชื่อเฉพาะ ในกรณีที่มีฐานข้อมูลที่มีชื่อเฉพาะก็จะกลับมาพร้อมกับฐานข้อมูลที่มีอยู่
คำสั่ง 'use ' เดียวกัน นี้ยังใช้สำหรับเลือกฐานข้อมูลและเริ่มทำงานด้วย

ตัวอย่าง:
สมมติว่าคุณกำลังเริ่มต้นโครงการการศึกษาใหม่ด้วยฐานข้อมูล 'edudb' จากนั้นคำสั่งจะเป็น:
>ใช้edudb เปลี่ยนเป็น db edudb |
อ่าน: MongoDB Real World Use Case: ข้อดี & บริษัทชั้นนำ
ตรวจสอบฐานข้อมูลปัจจุบัน
คุณยังสามารถตรวจสอบฐานข้อมูลปัจจุบันด้วยคำสั่ง db เป็น:
>db Edudb |
คุณต้องมีไฟล์หรือเอกสารอย่างน้อยหนึ่งไฟล์ในฐานข้อมูลเพื่อแสดงในรายการโดยรวม คุณสามารถทำได้โดยใช้คำสั่ง insert อย่างง่ายดาย
ไวยากรณ์:
> ดี บี ไฟล์ . แทรก({“ชื่อ”:”คลาส”}) |
แสดงฐานข้อมูลปัจจุบันทั้งหมด
คุณสามารถใช้คำสั่งต่อไปนี้เพื่อตรวจสอบฐานข้อมูลปัจจุบันด้วย show dbs ดังนี้:
>แสดงdbs ท้องถิ่น 0.53443GB ทดสอบ 0.12332GB edudb 0.02423GB |
ใน MongoDB การทดสอบจะแสดงเป็นฐานข้อมูลเริ่มต้น คอลเลกชันทั้งหมดโดยค่าเริ่มต้นจะถูกเก็บไว้ในการทดสอบเท่านั้น
คุณสามารถใช้อินเทอร์เฟซคำสั่ง MongoDB เพื่อจัดการงานที่เกี่ยวข้องกับการดำเนินการที่ไม่ใช่ CRUD อินเทอร์เฟซช่วยให้ผู้ใช้สามารถดึงข้อมูลที่แม่นยำจากเซิร์ฟเวอร์ จำลองสถานการณ์ปัจจุบัน และเรียกใช้งานลดแผนที่ที่เฉพาะเจาะจง
นอกจากนี้ยังมีคำสั่งเฉพาะให้รันในฐานข้อมูลปัจจุบันและฐานข้อมูลผู้ดูแลระบบ
สำหรับฐานข้อมูลปัจจุบันใน MondDB ให้ใช้ db.runCommand():
db.runCommand ( { <คำสั่ง> } ) |
สำหรับฐานข้อมูลผู้ดูแลระบบ ใช้ db.adminCommand():
ฐานข้อมูล adminCommand ( { <command> } ) |
สำหรับการสร้างคอลเลกชัน คำสั่งต่อไปนี้:
db.createCollection("ชื่อคอลเลกชัน"); |
สำหรับการแทรกเอกสารในคอลเลกชัน:
// // สำหรับการแทรกเอกสารเดียวในคอลเลกชัน // db.<collectionName>.insert({field1: “value”, field2: “value”}) // // สำหรับใส่เอกสารหลายชุดในคอลเลกชัน // db.<collectionName>.insert([{field1: “value1”}, {field1: “value2”}]) db.<collectionName>.insertMany([{field1: “value1”}, {field1: “value2”}]) |
ในการบันทึกและอัปเดตเอกสาร
คำสั่ง 'บันทึก' ทำได้ทั้งสองฟังก์ชันแทรกเอกสารใหม่ทั้งหมดหรืออัปเดตเอกสารที่มีอยู่
db.<collectionName>.save({“_id”: new ObjectId(“jhgsdjhgdsf”), field1: “value”, field2: “value”}); |
หมายเหตุ: หากมี ID เอกสารที่ตรงกัน แสดงว่ามีการอัปเดต มิฉะนั้น เอกสารใหม่จะถูกสร้างขึ้น
รายชื่อผู้ใช้ บทบาท และคอลเลกชั่น
คำสั่งเหล่านี้แสดงรายการจำนวนผู้ใช้ บทบาท และคอลเลกชัน
// // คำสั่งแสดงรายการคอลเลกชันทั้งหมดจากฐานข้อมูลปัจจุบัน // แสดงคอลเลกชัน; db.getCollectionNames(); // // คำสั่งไปยังผู้ใช้ทั้งหมดจากฐานข้อมูลปัจจุบัน // แสดงผู้ใช้; db.getUsers(); // // คำสั่งแสดงรายการบทบาทผู้ใช้ทั้งหมด // แสดงบทบาท |
เพื่อแสดงระเบียนคอลเลกชัน
// // คำสั่งดึงข้อมูลทั้งหมด // db.<collectionName>.find(); // // คำสั่งนี้ดึงผลลัพธ์ 10 รายการแรก; // db.<collectionName>.find().limit(10); // // คำสั่งนี้ดึงข้อมูลเร็กคอร์ดโดย id // db.<collectionName>.find({“_id”: ObjectId(“someid”)}); // // คำสั่งนี้ดึงค่าจากแอตทริบิวต์คอลเลกชันเฉพาะกับวัตถุและค่าที่กำหนดเป็น 0 หรือ 1 // db.<collectionName>.find({“_id”: ObjectId(“someid”)}, {field1: 1, field2: 1}); db.<collectionName>.find({“_id”: ObjectId(“someid”)}, {field1: 0}); // ยกเว้น field1 // // คำสั่งนี้ตรวจสอบจำนวนคอลเลกชันในฐานข้อมูล // db.<collectionName>.count();
|
สำหรับคำสั่งทางปกครอง
คำสั่งนี้ให้ข้อมูลเกี่ยวกับรายละเอียดการรวบรวมด้วยขนาดทั้งหมด พื้นที่จัดเก็บ และสถิติที่หลากหลาย
// // คำสั่งนี้ดึงข้อมูลสถิติการรวบรวม // db.<collectionName>.stats() db.printCollectionStats() // // // คำสั่งนี้ดึงข้อมูลสถิติแฝงสำหรับการอ่านและเขียนและจำนวนการดำเนินการเฉพาะ // db.<collectionName>.latencyStats() // // คำสั่งนี้ดึงขนาดคอลเลกชันเฉพาะสำหรับดัชนีและข้อมูล // db.<collectionName>.dataSize() // ดึงขนาดของคอลเลกชัน db.<collectionName>.storageSize() // ดึงขนาดทั้งหมดของเอกสารที่เก็บไว้ db.<collectionName>.totalSize() // ดึงขนาดรวมเป็นไบต์สำหรับทั้งข้อมูลคอลเลกชันและดัชนี db.<collectionName>.totalIndexSize() // ดึงขนาดรวมของดัชนีทั้งหมดในคอลเล็กชัน |
สำหรับการล็อกเอาต์จากฐานข้อมูล:

db.logout() |
มีคำสั่งประเภทต่างๆ ที่คุณสามารถใช้ได้ใน MongoDB โดยเริ่มจาก:
คำสั่งผู้ใช้
การทำงานของฐานข้อมูล
1. คำสั่งผู้ใช้
คำสั่งรวม
ชื่อ | คำอธิบาย |
รวม | คำสั่งเพื่อดำเนินการงานรวมในกลุ่ม |
นับ | คำสั่งนับจำนวนเอกสารเฉพาะ |
แตกต่าง | คำสั่งแสดงค่าเฉพาะสำหรับคีย์เฉพาะในคอลเล็กชัน |
แผนที่ลด | คำสั่งเพื่อดำเนินการรวมงานลดแผนที่ในชุดข้อมูลขนาดใหญ่ |
คำสั่งภูมิสารสนเทศ
ชื่อ | คำอธิบาย |
geoSearch | คำสั่งที่ทำแบบสอบถามเชิงพื้นที่ผ่านฟังก์ชันดัชนีกองหญ้าแห้ง MongoDB |
คำสั่งการดำเนินการสืบค้นและเขียน
ชื่อ | คำอธิบาย |
ลบ | คำสั่งลบหนึ่งหรือหลายเอกสาร |
หา | คำสั่งเพื่อเลือกเอกสารเดียวหรือหลายฉบับในมุมมอง |
แทรก | คำสั่งเพื่อแทรกหนึ่งหรือหลายเอกสารในมุมมอง |
อัปเดต | คำสั่งให้อัปเดตเอกสารหนึ่งหรือหลายฉบับ |
คำสั่งแคชแผนแบบสอบถาม
ชื่อ | คำอธิบาย |
planCacheClear | คำสั่งเพื่อลบแผนแบบสอบถามที่แคชไว้ออกจากคอลเลกชัน |
planCacheClearFilters | คำสั่งที่ล้างตัวกรองดัชนีจากคอลเลกชัน |
planCacheListFilters | คำสั่งที่แสดงตัวกรองดัชนีจากคอลเล็กชัน |
planCacheSetFilter | คำสั่งที่ตั้งค่าตัวกรองดัชนีจากคอลเล็กชัน |
2. การทำงานของฐานข้อมูล
ปัญหาการตรวจสอบสิทธิ์
ชื่อ | คำอธิบาย |
ตรวจสอบสิทธิ์ | คำสั่งที่เริ่มเซสชันที่รับรองความถูกต้องหลังจากตรวจสอบชื่อผู้ใช้และรหัสผ่าน |
getnonce | คำสั่งสร้างรหัสผ่านครั้งเดียวสำหรับการตรวจสอบสิทธิ์ |
ออกจากระบบ | คำสั่งเพื่อยุติเซสชันที่ได้รับการตรวจสอบสิทธิ์ที่กำหนด |
คำสั่งการจัดการผู้ใช้
ชื่อ | คำอธิบาย |
createUser | คำสั่งสร้างผู้ใช้ใหม่ |
dropUser | คำสั่งลบผู้ใช้รายใดรายหนึ่ง |
updateUser | คำสั่งอัพเดทข้อมูลผู้ใช้เฉพาะ |
ข้อมูลผู้ใช้ | คำสั่งเพื่อดึงข้อมูลจากผู้ใช้รายเดียวหรือหลายคน |
คำสั่งการจัดการบทบาท
ชื่อ | คำอธิบาย |
createRole | คำสั่งเพื่อสร้างบทบาทและสิทธิ์ของผู้ใช้เฉพาะ |
dropRole | คำสั่งเพื่อลบบทบาทที่กำหนดโดยผู้ใช้เฉพาะออกจากฐานข้อมูล |
อัปเดตบทบาท | คำสั่งที่อัพเดตบทบาทเฉพาะที่ผู้ใช้กำหนด |
คำสั่งการจำลองแบบ
ชื่อ | คำอธิบาย |
ApplyOps | คำสั่งที่เพิ่มรายการ oplog ด้วยชุดข้อมูลปัจจุบัน |
isMaster | คำสั่งที่แสดงข้อมูลสำหรับผู้ใช้ที่ระบุในชุดเรพลิกาปัจจุบันเพื่อตรวจสอบว่าเป็นต้นแบบหรือไม่ |
replSetInitiate | คำสั่งที่เริ่มต้นชุดเรพพลิกาใหม่เฉพาะ |
คำสั่งชาร์ด
ชื่อ | คำอธิบาย |
addShard | คำสั่งที่เพิ่มชาร์ดหรือคลัสเตอร์ชาร์ดใหม่ |
รายการเศษ | คำสั่งที่ส่งคืนรายการชาร์ดที่กำหนดค่าไว้ล่วงหน้า |
ลบShard | คำสั่งที่ลบชาร์ดเฉพาะออกจากคลัสเตอร์ |
คำสั่งเซสชัน
ชื่อ | คำอธิบาย |
ยกเลิกธุรกรรม | คำสั่งให้ยกเลิกการทำธุรกรรม |
endSessions | คำสั่งให้หมดอายุเซสชั่นก่อนหมดเวลา |
killAllSessions | คำสั่งให้ฆ่าทุกเซสชั่น |
รีเฟรชเซสชัน | คำสั่งเพื่อรีเฟรชเซสชันที่ไม่ได้ใช้งาน |
เริ่มเซสชัน | คำสั่งให้เริ่มเซสชันใหม่ |
คำสั่งทางปกครอง
ชื่อ | คำอธิบาย |
ทำความสะอาด | คำสั่งที่แสดงเนมสเปซภายใน |
สร้าง | คำสั่งสร้างคอลเลกชันหรือมุมมองเฉพาะ |
หยด | คำสั่งลบคอลเลกชันเฉพาะออกจากฐานข้อมูลปัจจุบัน |
ดัชนีใหม่ | คำสั่งที่สร้างดัชนีใหม่ทั้งหมดสำหรับคอลเล็กชันเฉพาะ |
ปิดตัวลง | คำสั่งให้ปิดกระบวนการ mongos หรือ mongod |
คำสั่งตรวจสอบฟรี
ชื่อ | คำอธิบาย |
setFreeMonitoring | อนุญาตให้ผู้ใช้เปิดหรือปิดการตรวจสอบฟรีภายในรันไทม์ |
คำสั่งตรวจสอบ

ชื่อ | คำอธิบาย |
logApplicationMessage | คำสั่งเพิ่มหรือโพสต์ข้อความที่กำหนดเองด้วยบันทึกการตรวจสอบปัจจุบัน |
การตอบสนองคำสั่ง
ในทุกการดำเนินการคำสั่ง MongoDB จะดึงการตอบสนองด้วยฟิลด์เฉพาะ:
สนาม | คำอธิบาย |
ตกลง | ข้อบ่งชี้ว่าคำสั่งนั้นสำเร็จ (1) หรือล้มเหลว (0) |
เวลาทำการ | นี่แสดงถึงเวลาเฉพาะสำหรับการดำเนินการใน MongoDB ด้วยการประทับเวลาจากรายการ oplog ในกรณีที่การดำเนินการไม่ทำงาน จะไม่สร้างรายการ oplog ใด ๆ จากนั้นเวลาดำเนินการจะกลับมา local: จากรายการล่าสุดผ่าน oplog และสำหรับการอ่านส่วนใหญ่และเชิงเส้นตรง การประทับเวลาจากรายการที่ยอมรับส่วนใหญ่ล่าสุดผ่าน oplog |
$clusterTime | ที่กำหนดเวลาเชิงตรรกะสำหรับการสั่งซื้อการดำเนินการเฉพาะ |
ชำระเงิน: การดำเนินการ CRUD ใน MongoDB
อะไรต่อไป?
หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมเกี่ยวกับ Big Data โปรดดูที่ PG Diploma in Software Development Specialization in Big Data program ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีกรณีศึกษาและโครงการมากกว่า 7 กรณี ครอบคลุมภาษาและเครื่องมือในการเขียนโปรแกรม 14 รายการ เวิร์กช็อป ความช่วยเหลือด้านการเรียนรู้และจัดหางานอย่างเข้มงวดมากกว่า 400 ชั่วโมงกับบริษัทชั้นนำ
เรียนรู้ หลักสูตรการพัฒนาซอฟต์แวร์ ออนไลน์จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม Executive PG โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว
