MongoDB เป็นระบบฐานข้อมูล NoSQL ที่มีคำสั่งหลากหลายสำหรับการจัดการฐานข้อมูล การเชื่อมต่อ และการดำเนินการต่าง ๆ ใน MongoDB ต่อไปนี้คือลิสต์ของคำสั่ง MongoDB ที่พบบ่อยๆ:
1. การเชื่อมต่อกับ MongoDB
-
เชื่อมต่อกับ MongoDB shell:
mongo
-
เชื่อมต่อกับ MongoDB บนเครื่องหรือโฮสต์ที่ระบุ:
mongo --host <hostname> --port <port>
2. คำสั่งเกี่ยวกับฐานข้อมูล
-
ดูรายชื่อฐานข้อมูลทั้งหมด:
show dbs
-
เลือกฐานข้อมูลเพื่อใช้งาน:
use <dbname>
-
สร้างฐานข้อมูลใหม่ (จะสร้างเมื่อมีการเพิ่มข้อมูล):
use <newdbname>
-
ลบฐานข้อมูล:
db.dropDatabase()
3. คำสั่งเกี่ยวกับคอลเลกชัน
-
ดูรายชื่อคอลเลกชันทั้งหมดในฐานข้อมูลปัจจุบัน:
show collections
-
สร้างคอลเลกชันใหม่:
db.createCollection("<collection_name>")
-
ลบคอลเลกชัน:
db.<collection_name>.drop()
4. คำสั่ง CRUD (Create, Read, Update, Delete)
4.1 Create (เพิ่มข้อมูล)
-
เพิ่มเอกสารใหม่ในคอลเลกชัน:
db.<collection_name>.insertOne({ key: "value" })
-
เพิ่มหลายเอกสารพร้อมกัน:
db.<collection_name>.insertMany([{ key1: "value1" }, { key2: "value2" }])
4.2 Read (อ่านข้อมูล)
-
ค้นหาข้อมูลในคอลเลกชัน:
db.<collection_name>.find({ key: "value" })
-
ค้นหาทั้งหมด:
db.<collection_name>.find()
-
ค้นหาผลลัพธ์แบบพิเศษ (เช่น จำกัดผลลัพธ์):
db.<collection_name>.find().limit(5)
4.3 Update (อัปเดตข้อมูล)
-
อัปเดตเอกสารหนึ่งรายการ:
db.<collection_name>.updateOne({ key: "value" }, { $set: { key: "new_value" } })
-
อัปเดตหลายเอกสาร:
db.<collection_name>.updateMany({ key: "value" }, { $set: { key: "new_value" } })
4.4 Delete (ลบข้อมูล)
-
ลบเอกสารหนึ่งรายการ:
db.<collection_name>.deleteOne({ key: "value" })
-
ลบหลายเอกสาร:
db.<collection_name>.deleteMany({ key: "value" })
5. การทำ Indexing
-
สร้าง Index:
db.<collection_name>.createIndex({ key: 1 }) # 1 สำหรับ ascending, -1 สำหรับ descending
-
ดู Index ที่มีในคอลเลกชัน:
db.<collection_name>.getIndexes()
6. คำสั่งเกี่ยวกับผู้ใช้
-
สร้างผู้ใช้ใหม่:
db.createUser({ user: "username", pwd: "password", roles: [{ role: "readWrite", db: "dbname" }] })
-
แสดงผู้ใช้ในฐานข้อมูล:
db.getUsers()
7. การสำรองข้อมูล (Backup)
- สำรองข้อมูล MongoDB ด้วย
mongodump
:mongodump --host <hostname> --port <port> --out <backup_directory>
8. การกู้คืนข้อมูล (Restore)
- กู้คืนข้อมูลจากสำรองด้วย
mongorestore
:mongorestore --host <hostname> --port <port> <backup_directory>
9. การใช้ Aggregation
- ใช้ Aggregation Pipeline:
db.<collection_name>.aggregate([ { $match: { key: "value" } }, { $group: { _id: "$key", total: { $sum: "$value" } } } ])
10. การใช้ MapReduce
- ใช้ MapReduce:
db.<collection_name>.mapReduce( function() { emit(this.key, this.value); }, function(key, values) { return Array.sum(values); }, { out: "result_collection" } )
ตัวอย่างการใช้งาน
-
เพิ่มเอกสารใหม่:
db.users.insertOne({ name: "John", email: "john@example.com" })
-
ค้นหาผู้ใช้ที่ชื่อ "John":
db.users.find({ name: "John" })
-
อัปเดตอีเมลของผู้ใช้ "John":
db.users.updateOne({ name: "John" }, { $set: { email: "john.doe@example.com" } })
-
ลบผู้ใช้ "John":
db.users.deleteOne({ name: "John" })
สรุป
คำสั่ง MongoDB ใช้ในการจัดการข้อมูลภายในฐานข้อมูล MongoDB เช่น การเพิ่ม, ค้นหา, อัปเดต, และลบข้อมูล รวมถึงการจัดการกับฐานข้อมูลและคอลเลกชัน