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

    ลบเอกสารที่ระบุ _id ด้วยคำสั่ง remove() คำสั่ง remove() ใช้สำหรับลบเอกสารออกจากคอลเลกชัน สามารถระบุเงื่อนไขการลบได้ (ในที่นี้คือ _id) ตัวอย่างข้อมูลทดสอบ db.demo56.insertOne({ Name: Bob }); แสดงข้อมูลก่อนลบ db.demo56.find(); ผลลัพธ์: { _id: ObjectId(5e272e0bcfb11e5c34d89917), Name: Chris } { _id

  2. การสร้างดัชนีเพื่อรันคิวรีซับซ้อนบนฟิลด์ที่ไม่มีดัชนีใน MongoDB

    เพิ่มประสิทธิภาพคิวรีซับซ้อนด้วย Text Index เมื่อต้องการค้นหาข้อความในฟิลด์ที่ไม่มีดัชนี ให้สร้าง Text Index เพื่อให้การค้นหาด้วย $text และ $search ทำงานได้อย่างมีประสิทธิภาพ ตัวอย่างสร้างข้อมูลและ Text Index db.demo400.createIndex({ SubjectName: text }); แสดงข้อมูลทั้งหมด db.demo400.find(); ผลล

  3. การอัปเดตเฉพาะฟิลด์ TotalVote ในเอกสารโหวต MongoDB ด้วย $inc

    เพิ่มคะแนนโหวตเฉพาะผู้ใช้ที่ระบุด้วย $inc ตัวดำเนินการ $inc ใช้สำหรับเพิ่มหรือลดค่าตัวเลขของฟิลด์ได้โดยตรง เหมาะสำหรับการอัปเดตตัวนับ เช่น คะแนนโหวต จำนวนดู จำนวนไลก์ ฯลฯ ตัวอย่างข้อมูลทดสอบ db.demo57.insertOne({ Votes: { VoterName: David, TotalVote: 101 } }); แสดงข้อมูลก่อนอัปเดต db.demo57.find

  4. การใช้ LIMIT ในการคิวรี MongoDB

    จำกัดจำนวนเอกสารที่คืนกลับด้วยเมธอด limit() เมธอด limit() ใช้สำหรับจำกัดจำนวนเอกสารสูงสุดที่ cursor จะคืนกลับมา เหมาะสำหรับการแบ่งหน้า (pagination) หรือดึงตัวอย่างข้อมูล ตัวอย่างข้อมูลทดสอบ db.demo58.insertOne({ Name: Mike }); แสดงข้อมูลทั้งหมด db.demo58.find(); ผลลัพธ์: { _id: ObjectId(...), Na

  5. การอัปเดตเอกสาร MongoDB โดยไม่ทับซ้อนข้อมูลเดิมด้วย $set

    อัปเดตเฉพาะฟิลด์ที่ต้องการด้วย $set เพื่อป้องกันการทับซ้อนข้อมูล เมื่อใช้ update() โดยไม่มี $set MongoDB จะแทนที่เอกสารทั้งชิ้น (replace) ทำให้ฟิลด์ที่ไม่ได้ระบุใน update document จะหายไป ใช้ $set เพื่ออัปเดตเฉพาะฟิลด์ที่ต้องการเท่านั้น ตัวอย่างข้อมูลทดสอบ db.demo401.insertOne({ _id: 1001, Nam

  6. การตั้งเงื่อนไขหลายอย่างและดึงข้อมูลในช่วงค่าที่กำหนดใน MongoDB

    ใช้ $gt และ $lt ร่วมกันเพื่อกรองค่าในช่วงที่ต้องการ เมื่อต้องการดึงเอกสารที่มีค่าอยู่ในช่วงเฉพาะ (Range Query) ให้ใช้ $gt (มากกว่า) และ $lt (น้อยกว่า) ร่วมกันในเงื่อนไขเดียวกัน ตัวอย่างข้อมูลทดสอบ db.demo59.insertOne({ Values: 78 }); แสดงข้อมูลทั้งหมด db.demo59.find(); ผลลัพธ์: { _id: ObjectId(.

  7. การอัปเดตแบบมีเงื่อนไข (Conditional Update) ใน MongoDB

    อัปเดตเอกสารเฉพาะที่ตรงตามเงื่อนไขด้วย update() และ upsert คำสั่ง update() ใน MongoDB สามารถทำงานแบบมีเงื่อนไขได้ โดยระบุ filter condition และใช้ upsert: true เพื่อสร้างเอกสารใหม่หากไม่พบเอกสารที่ตรงเงื่อนไข ตัวอย่างข้อมูลทดสอบ db.demo402.insertOne({ id: 103, Name: Mike }); แสดงข้อมูลก่อนอัปเดต

  8. การคิวรีข้อมูลวันที่ในช่วงเวลาที่กำหนดใน MongoDB

    ใช้ $gt และ $lt เพื่อกรองวันที่ในช่วงที่ต้องการ ใน MongoBC ใช้ตัวดำเนินการเปรียบเทียบ $gt (มากกว่า) และ $lt (น้อยกว่า) ร่วมกับ ISODate เพื่อคิวรีเอกสารที่มีวันที่อยู่ในช่วงที่กำหนด ตัวอย่างข้อมูลทดสอบ db.demo60.insertOne({ ArrivalDate: new ISODate(2019-01-14 05:11:20) }); แสดงข้อมูลทั้งหมด db.de

  9. การสร้างดัชนีสำหรับฟิลด์ข้อความยาวเพื่อเพิ่มความเร็วคิวรีใน MongoDB

    เพิ่มประสิทธิภาพการค้นหาข้อความด้วย Index และ $regex สำหรับฟิลด์ที่เก็บข้อความยาว สามารถสร้างดัชนีทั่วไป (single field index) ได้ แต่การค้นหาด้วย $regex จะใช้ดัชนีได้ก็ต่อเมื่อ regex เป็น prefix pattern (ขึ้นต้นด้วยข้อความคงที่) เท่านั้น ตัวอย่างสร้างดัชนีและข้อมูล db.demo46.insertOne({ Name: Chri

  10. การหาตำแหน่งของเอกสารในคอลเลกชัน MongoDB ด้วย sort() และ count()

    คำนวณตำแหน่งสัมพัทธ์ของเอกสารในคอลเลกชัน เพื่อหาว่าเอกสารอยู่ที่ตำแหน่งไหนเมื่อเรียงลำดับตามฟิลด์ใดฟิลด์หนึ่ง สามารถใช้ find() ร่วมกับ sort() และ count() ได้ ตัวอย่างข้อมูลทดสอบ db.demo47.insertOne({ ClientName: Sam }); แสดงข้อมูลทั้งหมด db.demo47.find(); ผลลัพธ์ (เรียงตาม _id ใส่เข้าไป): { _id:

  11. การใช้ $slice เพื่อดึงจำนวนรายการที่ต้องการจากอาร์เรย์ใน MongoDB

    จำกัดจำนวนองค์ประกอบที่คืนกลับมาจากอาร์เรย์ด้วย $slice ตัวดำเนินการ $slice ใน projection ของ find() ใช้สำหรับจำกัดจำนวนองค์ประกอบที่ต้องการคืนกลับมาจากฟิลด์ที่เป็นอาร์เรย์ ตัวอย่างข้อมูลทดสอบ db.demo48.insertOne({ Name: [David, Chris, Sam, Mike, Carol] }); แสดงข้อมูลทั้งหมด db.demo48.find(); ผลล

  12. การค้นหาและอัปเดตอาร์เรย์ย่อยด้วย Positional $ Operator ใน MongoDB

    อัปเดตองค์ประกอบเฉพาะในอาร์เรย์ด้วย Positional $ Operator เมื่อต้องการอัปเดตเฉพาะองค์ประกอบในอาร์เรย์ที่ตรงตามเงื่อนไข ใช้ Positional $ Operator ซึ่งจะอ้างอิงถึงตำแหน่งขององค์ประกอบที่ match กับ query condition ตัวอย่างข้อมูลทดสอบ db.demo49.insertOne({ Name: David, Details: [ { _id: D1234,

  13. การดึงค่า _id เป็นอาร์เรย์สำหรับเอกสารที่มีค่ามากกว่า 50 ใน MongoDB

    ใช้ distinct() และ $in เพื่อดึง _id เป็นอาร์เรย์แทน JSON Array เมื่อต้องการได้ผลลัพธ์เป็นอาร์เรย์ของค่า _id (แทนที่จะเป็น JSON array ของเอกสารเต็ม) สำหรับเอกสารที่มีค่ามากกว่า 50 สามารถใช้ distinct() ร่วมกับ $gt และ $in ได้ ตัวอย่างข้อมูลทดสอบ db.demo50.save({ Value: 510 }); แสดงข้อมูลทั้งหมด db

  14. การคัดลอกค่าจากฟิลด์หนึ่งไปยังอีกฟิลด์หนึ่งใน MongoDB

    อัปเดตค่าฟิลด์จากฟิลด์อื่นในเอกสารเดียวกันด้วย forEach() เมื่อต้องการคัดลอกค่าจากฟิลด์หนึ่งไปยังอีกฟิลด์หนึ่งในทุกเอกสาร สามารถใช้ forEach() ร่วมกับ save() หรือ updateOne() ได้ ตัวอย่างข้อมูลทดสอบ db.demo51.insert({ Name1: Sam, Name: Bob, Age: 26 }); แสดงข้อมูลก่อนอัปเดต db.demo51.find(); ผลลัพธ

  15. การแปลง ObjectId เป็น String ใน MongoDB

    แปลง ObjectId ให้เป็นสตริงด้วยเมธอด toString() ใน MongoDB Shell สามารถแปลงค่า ObjectId ให้เป็น String ได้โดยตรงด้วยเมธอด toString() ตัวอย่างข้อมูลทดสอบ db.demo52.insertOne({ StudentName: Chris }); แสดงข้อมูล db.demo52.find(); ผลลัพธ์: { _id: ObjectId(5e27129bcfb11e5c34d89910), StudentName: Chris

  16. การสร้างดัชนีหลายฟิลด์ (Compound Index) ใน MongoDB

    การสร้างดัชนีรวมหลายฟิลด์เพื่อรองรับคำสั่ง OR เมื่อต้องการสร้างดัชนีสำหรับหลายฟิลด์พร้อมกัน (Compound Index) ให้ใช้ createIndex() (แทน ensureIndex() ที่ล้าสมัย) โดยระบุลำดับฟิลด์และทิศทาง (1 = เรียงน้อยไปมาก, -1 = เรียงมากไปน้อย) ตัวอย่างสร้างดัชนีหลายคู่ db.demo53.createIndex({ StudentFirstName:

  17. การแปลงอาร์เรย์เป็น Map ของเอกสารด้วย $map และ $arrayToObject ใน MongoDB

    แปลงอาร์เรย์เป็นออบเจกต์ (Map) โดยใช้คีย์จากฟิลด์ในเอกสาร สามารถแปลงอาร์เรย์ของเอกสารให้กลายเป็นออบเจกต์เดียว (Map) โดยใช้ค่าของฟิลด์เฉพาะเป็นคีย์ (Key) และเอกสารทั้งชิ้นเป็นค่า (Value) ได้ด้วยการรวม $map และ $arrayToObject ใน Aggregation Pipeline ตัวอย่างข้อมูลทดสอบ db.demo398.insertOne({ detai

  18. การใช้ $slice พร้อมช่วงข้อมูล (Range) ใน MongoDB

    การตัดอาร์เรย์ด้วย $slice และระบุช่วงตำแหน่ง ตัวดำเนินการ $slice ใน MongoDB สามารถรับพารามิเตอร์ 2 ค่า เพื่อระบุ ตำแหน่งเริ่มต้น และ จำนวนองค์ประกอบที่ต้องการ (range) ได้ ตัวอย่างข้อมูลทดสอบ db.demo54.insertOne({ ListOfValues: [100, 2030, 5353, 7364, 635, 535, 524, 423, 2434, 1323, 799874, 90] }

  19. วิธีดึงองค์ประกอบเดียวจากอาร์เรย์ผลลัพธ์โดยใช้ดัชนีใน MongoDB

    การดึงองค์ประกอบเดี่ยวจากอาร์เรย์ผลลัพธ์ด้วยดัชนี เพื่อดึงองค์ประกอบเพียงตัวเดียวจากอาร์เรย์ผลลัพธ์ตามดัชนีที่ต้องการ สามารถใช้ Aggregation Pipeline ร่วมกับ $skip และ $limit ได้ โดย $skip ใช้สำหรับข้ามเอกสารตามจำนวนที่ระบุ ตัวอย่างข้อมูลทดสอบ db.demo391.insertOne({ _id: 121, Name: Chris, Values: [

  20. คำสั่ง MongoDB สำหรับลบค่าหลายค่าจากอาร์เรย์ด้วย $pull

    การใช้งาน $pull เพื่อลบค่าจากอาร์เรย์ใน MongoDB เมื่อต้องการลบค่าที่เฉพาะเจาะจงออกจากอาร์เรย์ในเอกสาร MongoDB สามารถใช้ตัวดำเนินการ $pull ร่วมกับตัวเลือก multi: true เพื่อให้การลบเกิดขึ้นกับทุกเอกสารที่ตรงตามเงื่อนไข ตัวอย่างข้อมูลทดสอบ ขั้นแรก ให้สร้างคอลเลกชันและเพิ่มเอกสารตัวอย่างดังนี้: db.dem

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