Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB
MongoDB
  1. ใช้ Regex ใน MongoDB findOne() ค้นหาเอกสารเดียว

    เมธอด findOne() คืนค่าเอกสารเดียวที่ตรงเงื่อนไข ใช้ร่วมกับ $regex สำหรับ pattern matching > db.demo655.insertOne({subject: MySQL}); { acknowledged : true, insertedId : ObjectId(5ea050254deddd72997713cc) } > db.demo655.insertOne({subject: MongoDB}); { acknowledged : true, insertedId : ObjectId

  2. ล้างฐานข้อมูล MongoDB ทั้งหมดด้วย dropDatabase

    การลบฐานข้อมูล (Database) ทั้งหมดใน MongoDB ใช้คำสั่ง dropDatabase() Syntax use yourDatabaseName; db.dropDatabase(); ขั้นตอนการลบฐานข้อมูล 1. ดูรายชื่อฐานข้อมูลทั้งหมด: > show dbs MyDB 0.000GB admin 0.000GB config 0.000GB local 0.000GB onlinec

  3. ใช้ $push และ $slice หลายครั้งใน MongoDB จำกัดขนาดอาร์เรย์

    การเพิ่มข้อมูลในอาร์เรย์พร้อมจำกัดขนาด (keep only last N items) ใช้ $push ร่วมกับ $each และ $slice > db.demo656.insertOne({Name: John}); { acknowledged : true, insertedId : ObjectId(5ea060264deddd72997713cf) } แสดงข้อมูลเริ่มต้น: > db.demo656.find(); { _id : ObjectId(5ea060264deddd72997713

  4. สร้าง Unique Index ใน MongoDB ป้องกันข้อมูลซ้ำ

    การสร้างดัชนีที่บังคับให้ค่าไม่ซ้ำ (Unique Index) ใช้ createIndex() พร้อมตัวเลือก unique: true > db.demo658.createIndex({FirstName: 1}, {unique: true, sparse: true}); { createdCollectionAutomatically : true, numIndexesBefore : 1, numIndexesAfter : 2, ok : 1 } ทดสอบ insert: > db.demo658.inse

  5. แก้ปัญหา MongoDB คอลเลกชันใหญ่ ค้นหาช้า ด้วย Index

    เมื่อคอลเลกชันใหญ่และค้นหาช้า ให้สร้างดัชนี (Index) บนฟิลด์ที่ใช้ในเงื่อนไขค้นหา > db.demo661.createIndex({ListOfName: 1}); { createdCollectionAutomatically : true, numIndexesBefore : 1, numIndexesAfter : 2, ok : 1 } > db.demo661.insertOne({_id: 1, ListOfName: [John, Robert, David]}); { ackno

  6. กรอง Sub-document ใน MongoDB ด้วย $unwind และ $match

    เมื่อต้องการกรองเฉพาะ sub-document ในอาร์เรย์ที่ตรงเงื่อนไข ให้ใช้ $unwind แยกอาร์เรย์ แล้ว $match กรอง > db.demo662.insertOne({ ... details: [ ... {Name: Chris, Marks: 35}, ... {Name: Bob, Marks: 45}, ... {Name: David, Marks: 30} ... ] ... }); { acknowledged : true, insertedId :

  7. แก้ไขปัญหา $group คืนค่า 0 ในการแปลง Float ใน MongoDB

    ปัญหาที่พบบ่อย: ฟิลด์เก็บตัวเลขเป็น String (เช่น -0.45) ตอน $group แปลงเป็น float ได้ 0 วิธีแก้คือใช้ parseFloat() ในการอัปเดตข้อมูลก่อน > db.demo523.insertOne({details: {values: -0.45}}); { acknowledged : true, insertedId : ObjectId(5e89b7efb3fbf26334ef611f) } แสดงข้อมูล (values เป็น String):

  8. ค้นหาในอาร์เรย์ออบเจกต์ MongoDB หลายเงื่อนไขด้วย $and และ $regex

    เมื่อต้องการค้นหาเอกสารที่อาร์เรย์ออบเจกต์มีเงื่อนไขตรงพร้อมกันหลายอย่าง (AND logic) ให้ใช้ $and ร่วมกับ $elemMatch และ $regex > db.demo525.insertOne({details: [{Name: Chris, CountryName: US}]}); { acknowledged : true, insertedId : ObjectId(5e8ae5ef437efc8605595b66) } > db.demo525.insertOne({

  9. อัปเดตอาร์เรย์ใน MongoDB ด้วย $push และ $elemMatch

    การเพิ่มข้อมูลเข้าไปในอาร์เรย์ที่อยู่ภายในออบเจกต์ซ้อน (nested array in object) ใช้ updateOne() ร่วมกับ $push และ $elemMatch เพื่อระบุตำแหน่งที่ถูกต้อง > db.demo526.insertOne({ ... CountryName: US, ... TeacherName: Bob, ... StudentInformation: [ ... {Name: Chris, Subject: MySQL, ListOf

  10. รวมราคา (Sum Price) ใน MongoDB ด้วย $group Aggregation

    การคำนวณผลรวมของฟิลด์ตัวเลขทั่วทั้งคอลเลกชัน ใช้ $group กับ $sum โดยตั้ง _id: null > db.demo527.insertOne({Price: 45.5}); { acknowledged : true, insertedId : ObjectId(5e8aff2fef4dcbee04fbbbdc) } > db.demo527.insertOne({Price: 55.5}); { acknowledged : true, insertedId : ObjectId(5e8aff34ef4dcb

  11. ค้นหาเอกสาร MongoDB ตาม _id หลายค่า ด้วย $in

    การค้นหาเอกสารหลายรายการพร้อมกันโดยระบุ _id ใช้โอเปอเรเตอร์ $in พร้อมอาร์เรย์ของ ObjectId > db.demo528.insertOne({Name: Chris, Age: 21}); { acknowledged : true, insertedId : ObjectId(5e8b00d2ef4dcbee04fbbbe0) } > db.demo528.insertOne({Name: Bob, Age: 22}); { acknowledged : true, insertedId :

  12. จัดกลุ่ม (Group By) ตาม _id ใน MongoDB Aggregation

    การใช้ $group เพื่อจัดกลุ่มตาม _id หรือนับจำนวนเอกสารทั้งหมด > db.demo529.insertOne({Score: 10}); { acknowledged : true, insertedId : ObjectId(5e8b1d5bef4dcbee04fbbbe4) } > db.demo529.insertOne({Score: 20}); { acknowledged : true, insertedId : ObjectId(5e8b1d5fef4dcbee04fbbbe5) } > db.demo

  13. หลีกเลี่ยงปัญหาประสิทธิภาพ Regex ใน MongoDB ด้วย Text Index

    การใช้ Regular Expression ($regex) อย่างไม่ถูกต้องอาจทำให้คิวรีช้าเพราะไม่ใช้ดัชนีได้ วิธีแก้คือสร้าง Text Index และใช้ $text search แทน > db.demo531.createIndex({CountryName: text, Name: text}); { createdCollectionAutomatically : true, numIndexesBefore : 1, numIndexesAfter : 2, ok : 1 } > db

  14. จัดเรียงเอกสาร MongoDB 昇順 (Ascending) ด้วย Aggregation $sort

    ใช้ขั้นตอน $sort ใน Aggregation Pipeline เพื่อจัดเรียงเอกสาร ตัวอย่างนี้รวมถึงการ unwind อาร์เรย์ก่อนจัดเรียง > db.demo652.insertOne({ ... value: 10, ... details: [ ... {ProductName: Product-1, ProductQuantity: 8, ProductPrice: 500}, ... {ProductName: Product-2, ProductQuantity: 7, P

  15. รวมคะแนน (Sum) ของค่าซ้ำในฟิลด์ MongoDB ด้วย $group

    เมื่อต้องการรวมค่าจากหลายเอกสารที่มีค่าซ้ำกันในฟิลด์หนึ่ง (เช่นชื่อคนเดียวกันหลายแถว) ให้ใช้ $group ร่วมกับ $sum > db.demo512.insertOne({Name: Chris, Score1: 45, Score2: 65, CountryName: US}); { acknowledged : true, insertedId : ObjectId(5e884d96987b6e0e9d18f588) } > db.demo512.insertOne({Nam

Total 1351 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:11/68  20-คอมพิวเตอร์/Page Goto:1 5 6 7 8 9 10 11 12 13 14 15 16 17