คำสั่ง 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 โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว

เป็นผู้นำการปฏิวัติเทคโนโลยีที่ขับเคลื่อนด้วยข้อมูล

โปรแกรมประกาศนียบัตรขั้นสูงด้าน Big Data จาก IIIT Bangalore