Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB
MongoDB
  1. MongoDB Aggregation: หานักเรียนที่คะแนนสอบครั้งแรกต่ำกว่าค่าเฉลี่ยรวม

    เปรียบเทียบคะแนนสอบครั้งแรกกับค่าเฉลี่ยรวมทั้งหมด ใช้ aggregation pipeline หลายขั้นตอน เพื่อคำนวณค่าเฉลี่ยของแต่ละคน แล้วหาค่าเฉลี่ยรวม และกรองหาคนที่คะแนนสอบครั้งแรกต่ำกว่าค่าเฉลี่ยรวม ตัวอย่างข้อมูล > db.demo432.insertOne({ _id: 101, Name: David, Value1: 67, Value2: 87, Value3: 78 }); > db

  2. วิธีกรองข้อมูลตามรูปแบบวันที่เฉพาะใน MongoDB

    การใช้ $dateToString สำหรับกรองวันที่ เมื่อต้องการกรองเอกสารตามรูปแบบวันที่เฉพาะ (เช่น YYYY-MM-DD) ให้ใช้ $dateToString แปลง ISODate เป็นสตริงก่อน แล้วค่อย match ตัวอย่างข้อมูล > db.demo433.insertOne({ DueDate: new Date(2019-11-23) }); > db.demo433.insertOne({ DueDate: new Date(2020-01-03) }

  3. MongoDB Aggregation: คำนวณผลรวมคะแนนของนักเรียนคนเฉพาะ

    การใช้ $sum ใน Aggregate Pipeline เพื่อคำนวณผลรวมคะแนนของนักเรียนคนเฉพาะ ใช้ $match กรองข้อมูลก่อน แล้วค่อย $group พร้อม $sum ตัวอย่างข้อมูล > db.demo434.insertOne({ Name: Chris, Score: 45 }); > db.demo434.insertOne({ Name: David, Score: 55 }); > db.demo434.insertOne({ Name: Chris, Score:

  4. วิธีเพิ่มข้อมูลลงในอาร์เรย์ใน MongoDB

    การต่ออาร์เรย์ด้วย $concatArrays เมื่อต้องการรวมอาร์เรย์หลายตัวเข้าด้วยกันใน MongoDB ให้ใช้ operator $concatArrays ภายใน aggregation pipeline ตัวอย่างข้อมูลต้นฉบับ > db.demo435.insertOne({ FirstName: [Chris], LastName: [Brown] }); { acknowledged: true, insertedId: ObjectId(5e7719b1bbc41e36cc3ca

  5. วิธีรวมเอกสารหลายฉบับใน MongoDB

    การรวมเอกสารหลายฉบับด้วย Aggregate Pipeline ใน MongoDB สามารถรวมเอกสารหลายฉบับได้โดยใช้เมธอด aggregate() ซึ่งช่วยให้จัดการข้อมูลซับซ้อนได้อย่างมีประสิทธิภาพ ตัวอย่างข้อมูลต้นฉบับ สร้างคอลเลกชันพร้อมเอกสารตัวอย่าง: > db.demo436.insertOne({ _id: 101, Name: Chris, details: [{ CountryName: US, Age:

  6. การตรวจสอบข้อมูล (Validation) ใน MongoDB ด้วย JSON Schema Validator

    สร้าง Collection พร้อม Validation Rules ด้วย JSON Schema MongoDB 3.6+ รองรับ Schema Validation ผ่าน JSON Schema (Draft 4) กำหนดได้ที่ระดับ Collection เพื่อบังคับโครงสร้างและประเภทข้อมูล คำสั่งสร้าง Collection พร้อม Validator db.createCollection(demo437, { validator: { $jsonSchema: { bs

  7. การลบข้อมูลซ้ำใน MongoDB 3.x ด้วย Aggregation $group และ $addToSet

    หาเอกสารซ้ำ (Duplicate) ตามฟิลด์เฉพาะด้วย Aggregation MongoDB 3.x ไม่มีคำสั่งลบซ้ำโดยตรง ใช้ Aggregation Pipeline หา _id ของเอกสารซ้ำ แล้วค่อยลบด้วยโค้ดเพิ่มเติม ตัวอย่างข้อมูลทดสอบ (มี FirstName ซ้ำ) db.demo438.insertOne({ FirstName: David }); แสดงข้อมูลทั้งหมด db.demo438.find(); ผลลัพธ์: 5 เอก

  8. การใช้ $project ใน MongoDB Aggregation เพื่อเลือกและแปลงฟิลด์

    เลือก สร้าง และแปลงฟิลด์ด้วย $project ใน Aggregation Pipeline Stage $project ใช้สำหรับควบคุมฟิลด์ที่จะส่งต่อไปใน Pipeline: เลือกฟิลด์ (Include/Exclude), สร้างฟิลด์ใหม่, คำนวณค่า, เปลี่ยนชื่อฟิลด์ ฯลฯ ตัวอย่างข้อมูลทดสอบ (มีโครงสร้าง MarksInformation ต่างกัน) db.demo439.insertOne({ Name: Bob, Marks

  9. การรวมค่าที่ไม่ซ้ำกันจากอาร์เรย์หลายชุดใน MongoDB ด้วย Aggregation

    รวมค่า Unique จากอาร์เรย์หลายชุดในคอลเลกชันต่างกันด้วย $setUnion และ $addToSet เมื่อต้องการรวมค่าที่ไม่ซ้ำกัน (Unique Values) จากอาร์เรย์ในหลายเอกสารหรือหลายฟิลด์ ให้ใช้ Aggregation Pipeline พร้อม $setUnion, $concatArrays, และ $addToSet ตัวอย่างข้อมูลทดสอบ (2 เอกสาร ฟิลด์ต่างกัน) db.demo420.insert

  10. การแทรกข้อมูลวันที่ใน MongoDB ด้วย Date() และ ISODate

    วิธีการ Insert Date ใน MongoDB ให้ถูกต้อง MongoDB เก็บวันที่ในรูปแบบ BSON Date (64-bit integer มิลลิวินาทีจาก Unix Epoch) ใช้ ISODate() หรือ new Date() ในการสร้างค่าวันที่ ตัวอย่างการ Insert Date แบบต่างๆ db.demo421.insert({ DueDate: new Date(2018-12-31) }); แสดงข้อมูลที่ Insert db.demo421.find(

  11. การคิวรี MongoDB สำหรับ Exact Match หลายฟิลด์พร้อมกันด้วย $in และ $and

    ค้นหาเอกสารที่ตรงตามเงื่อนไขหลายฟิลด์พร้อมกันด้วย $and และ $in เมื่อต้องการ Exact Match หลายฟิลด์พร้อมกัน (AND logic ระหว่างฟิลด์) และแต่ละฟิลด์รับค่าได้หลายค่า (OR logic ภายในฟิลด์) ให้ใช้ $and ร่วมกับ $in ตัวอย่างข้อมูลทดสอบ db.demo422.insertOne({ Name: David, Marks: 89 }); แสดงข้อมูลทั้งหมด d

  12. การเพิ่มประสิทธิภาพ Phase $group ใน MongoDB Aggregation

    เพิ่มความเร็ว $group ด้วย $project, $unwind และการลดข้อมูลก่อน Group เพื่อให้ $group ทำงานเร็วขึ้น ควร ลดปริมาณข้อมูลและฟิลด์ ก่อนเข้าสู่ $group โดยใช้ $project เลือกเฉพาะฟิลด์ที่จำเป็น และ $unwind แยกอาร์เรย์ก่อน (ถ้าจำเป็น) ตัวอย่างข้อมูลทดสอบ db.demo423.insertOne({ Information: [101, 110, 87, 1

  13. การดึงเอกสาร MongoDB ที่มีสตริงเฉพาะด้วย $match ใน Aggregation

    ใช้ $match ใน Aggregation Pipeline เพื่อกรองเอกสารตามสตริงในอาร์เรย์ Stage $match ใน Aggregation Pipeline ทำงานคล้าย find() แต่ใช้ได้ภายใน Pipeline เพื่อกรองเอกสารก่อนส่งต่อ stage ถัดไป ตัวอย่างข้อมูลทดสอบ db.demo424.insert({ Information: [{ id: 101, Name: Mike }, { id: 102, Name: John }] }); แสด

  14. การ Upsert หลายเอกสารใน MongoDB ด้วย Bulk Operations

    ใช้ initializeUnorderedBulkOp() สำหรับ Upsert หลายเอกสาร ใน MongoDB เวอร์ชันเก่า (ก่อน 3.2) ใช้ Bulk Operations API ผ่าน initializeUnorderedBulkOp() หรือ initializeOrderedBulkOp() สำหรับการเขียนหลายรายการพร้อมกัน รวมถึง Upsert ตัวอย่างข้อมูลทดสอบ db.demo425.insertOne({ Name: Chris, Age: 21 }); แส

  15. การจับคู่ ID และดึงเอกสารด้วย $eq ในอาร์เรย์ MongoDB

    ใช้ $eq ใน find() เพื่อค้นหาเอกสารที่อาร์เรย์มีค่าเฉพาะ ตัวดำเนินการ $eq ระบุเงื่อนไข เท่ากับ ใช้ใน find() เพื่อค้นหาเอกสารที่อาร์เรย์มีค่าที่ต้องการ (MongoDB จะ match อัตโนมัติถ้าอาร์เรย์มีค่านั้น) ตัวอย่างข้อมูลทดสอบ db.demo426.insert({ Ids: [501, 600, 700] }); แสดงข้อมูลทั้งหมด db.demo426.fin

  16. การอัปเดตเอกสาร MongoDB ด้วย Student ID และ Name

    อัปเดตเอกสารเฉพาะรายการด้วย update() และ $set ใช้คำสั่ง update() (หรือ updateOne() ในรูปแบบใหม่) ร่วมกับ $set เพื่อเปลี่ยนแปลงค่าของฟิลด์เฉพาะในเอกสารที่ตรงตามเงื่อนไข ตัวอย่างข้อมูลทดสอบ db.demo427.insertOne({ StudentId: 104, StudentName: Carol Taylor }); แสดงข้อมูลก่อนอัปเดต db.demo427.find();

  17. Conditional Upsert หลายรายการใน MongoDB ด้วย bulkWrite()

    ใช้ bulkWrite() เพื่อดำเนินการเขียนหลายแบบ (insert, update, delete) พร้อมกันในครั้งเดียว รองรับ Upsert แบบมีเงื่อนไข ตัวอย่างข้อมูลทดสอบ > db.demo428.insertOne({ Name: Chris, Age: 21 }); { acknowledged: true, insertedId: ObjectId(5e75f428bbc41e36cc3cae83) } > db.demo428.insertOne({ Name: Chri

  18. การสร้างฟิลด์ใหม่และนับจำนวนองค์ประกอบในอาร์เรย์ซ้อนด้วย $addFields และ $size ใน MongoDB

    เพิ่มฟิลด์ใหม่ที่เก็บจำนวนสมาชิกของอาร์เรย์ซ้อนด้วย $addFields และ $map ใช้ $addFields ร่วมกับ $map และ $size เพื่อสร้างฟิลด์ใหม่ที่เก็บจำนวน (Count) ของอาร์เรย์ซ้อนในแต่ละออบเจกต์ ตัวอย่างข้อมูลทดสอบ db.demo429.insertOne({ _id: 101, Value: 3, details: [ { Age: 29, Value: 3, details1: [1

  19. การลบองค์ประกอบที่ไม่ตรงเงื่อนไขในอาร์เรย์ MongoDB ด้วย $pull และ $ne

    ลบองค์ประกอบออกจากอาร์เรย์ที่ไม่ตรงตามเงื่อนไขด้วย $pull และ $ne ใช้ $pull ร่วมกับ $ne (Not Equal) เพื่อลบองค์ประกอบในอาร์เรย์ที่ ไม่ตรง ตามเงื่อนไขที่กำหนด ตัวอย่างข้อมูลทดสอบ db.demo410.insertOne({ details: [ { isMarried: false }, { isMarried: true }, { isMarried: false }, { is

  20. การดึงเฉพาะค่าในอาร์เรย์ด้วย MongoDB Aggregate $map

    ใช้ $map ใน $project เพื่อแปลงอาร์เรย์ออบเจกต์เป็นอาร์เรย์ค่า ตัวดำเนินการ $map ใน Aggregation Pipeline ใช้สำหรับแปลงอาร์เรย์หนึ่งรูปแบบเป็นอีกอาร์เรย์หนึ่ง โดยนำแต่ละองค์ประกอบผ่าน expression ที่กำหนด ตัวอย่างข้อมูลทดสอบ db.demo411.insertOne({ Information: [ { Name1: Chris, Name2: David },

Total 1351 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:18/68  20-คอมพิวเตอร์/Page Goto:1 12 13 14 15 16 17 18 19 20 21 22 23 24