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

    การ $unwind สองอาร์เรย์พร้อมกันต้องใช้ includeArrayIndex เพื่อเก็บ index แล้วค่อยกรอง (match) เฉพาะคู่ที่ index ตรงกัน > db.demo515.insertOne({ ... details1: [4700100004], ... details2: [Not Given], ... Value1: [56, 45, 35], ... Value2: [35, 45, 56] ... }); { acknowledged : true, inserte

  2. อัปเดตเอกสารล่าสุดที่ตรงเงื่อนไขใน MongoDB ด้วย findAndModify

    เมื่อต้องการอัปเดตเอกสาร ล่าสุด (latest) ที่ตรงตามเงื่อนไข ให้ใช้ findAndModify() ร่วมกับ sort ตาม _id ลำดับถอยหลัง > db.demo516.insertOne({Name: John, Age: 22, Score: 56}); { acknowledged : true, insertedId : ObjectId(5e889fdb987b6e0e9d18f591) } > db.demo516.insertOne({Name: John, Age: 23, S

  3. เปลี่ยนชื่อฟิลด์ใน MongoDB ด้วย $project Aggregation

    การเปลี่ยนชื่อฟิลด์ (rename field) ในผลลัพธ์การคิวรี ใช้ขั้นตอน $project ใน Aggregation Pipeline (ไม่เปลี่ยนข้อมูลจริงในฐานข้อมูล) > db.demo517.insertOne({Name: Chris Brown}); { acknowledged : true, insertedId : ObjectId(5e88a2a2987b6e0e9d18f595) } > db.demo517.insertOne({Name: David Miller})

  4. ลบเอกสารใน MongoDB ตาม _id ด้วย remove()

    การลบเอกสารโดยระบุ _id โดยตรง ใช้เมธอด remove() (หรือ deleteOne() / deleteMany() ในเวอร์ชันใหม่) รูปแบบคำสั่ง db.yourCollectionName.remove({_id: yourObjectId}); ตัวอย่างข้อมูล > db.demo518.insertOne({ClientName: Chris}); { acknowledged : true, insertedId : ObjectId(5e88b02db3fbf26334ef610e) }

  5. ค้นหาข้อความใน MongoDB ด้วย Regular Expression ($regex)

    การค้นหาข้อความแบบ pattern matching ใน MongoDB ใช้โอเปอเรเตอร์ $regex รองรับ Regular Expression แบบเต็มรูปแบบ > db.demo519.insertOne({Value: 50,60,70}); { acknowledged : true, insertedId : ObjectId(5e88b9c0b3fbf26334ef6111) } > db.demo519.insertOne({Value: 80,90,50}); { acknowledged : true, i

  6. คิวรี MongoDB ใช้ $in ในอาร์เรย์ ค้นหาค่าตรงตามรายการ

    โอเปอเรเตอร์ $in ใช้ค้นหาเอกสารที่ฟิลด์อาร์เรย์มีค่าตรงกับรายการที่กำหนดอย่างน้อย 1 ค่า > db.demo520.insertOne({ListOfName: [John, Bob]}); { acknowledged : true, insertedId : ObjectId(5e899fb4b3fbf26334ef6114) } > db.demo520.insertOne({ListOfName: [Chris, David]}); { acknowledged : true, inse

  7. ดึงข้อมูลล่าสุดจาก MongoDB ตามวันที่ด้วย sort และ limit

    เพื่อดึงข้อมูลล่าสุด (latest) ตามฟิลด์วันที่ ให้ใช้ sort() กับค่า -1 (descending) และ limit() จำกัดจำนวน > db.demo521.insertOne({PurchaseDate: new ISODate(2019-01-10), ProductName: Product-1}); { acknowledged : true, insertedId : ObjectId(5e89a1acb3fbf26334ef6117) } > db.demo521.insertOne({Pu

  8. ดึงคู่ค่าที่ไม่ซ้ำ (Distinct Pair) พร้อม sub-documents ใน MongoDB

    เพื่อดึงคู่ค่าที่ไม่ซ้ำกัน (distinct pair) พร้อมข้อมูลย่อย ให้ใช้ $group ใน Aggregation Pipeline > db.demo522.insertOne({Name: John, Score: 45}); { acknowledged : true, insertedId : ObjectId(5e89b646b3fbf26334ef611b) } > db.demo522.insertOne({Name: Bob, Score: 67}); { acknowledged : true, ins

  9. ค้นหาเอกสาร MongoDB จากการรวม FirstName และ LastName

    เมื่อต้องการค้นหาจากการรวมฟิลด์ (concatenation) เช่น FirstName + LastName ให้ใช้ $concat ร่วมกับ $eq ใน Aggregation Pipeline > db.demo502.insertOne({FirstName: John, LastName: Smith}); { acknowledged : true, insertedId : ObjectId(5e875534987b6e0e9d18f56d) } > db.demo502.insertOne({FirstName:

  10. ตัดอาร์เรย์ในฟิลด์ที่ populate ด้วย $slice ใน MongoDB

    เมื่อต้องการดึงเฉพาะบางส่วนของอาร์เรย์ (array slicing) ให้ใช้โอเปอเรเตอร์ $slice ในการ projection ของ find() > db.demo503.insertOne({_id: 1, Name: John, Subject: [MySQL, Java, C]}); { acknowledged : true, insertedId : 1 } > db.demo503.insertOne({_id: 2, Name: David, Subject: [MongoDB, C++, Py

  11. ค้นหาผู้ใช้ตามชื่อใน MongoDB ด้วย find()

    การค้นหาผู้ใช้ตามชื่อใน MongoDB ทำได้ง่ายด้วยเมธอด find() มาดูตัวอย่าง > db.demo504.insertOne({Name: Chris}); { acknowledged : true, insertedId : ObjectId(5e8823ee987b6e0e9d18f570) } > db.demo504.insertOne({Name: John}); { acknowledged : true, insertedId : ObjectId(5e8823f2987b6e0e9d18f571) }

  12. จัดเรียงอาร์เรย์ซ้อน (Nested Array) ใน MongoDB ด้วย $sort

    เพื่อจัดเรียงข้อมูลภายในอาร์เรย์ซ้อน (nested array) ให้ใช้ $unwind แยกอาร์เรย์ก่อน แล้วค่อย $sort และ $group รวมกลับ > db.demo505.insertOne({ ... details: [ ... { Name: Chris, Score: 58 }, ... { Name: Bob, Score: 45 }, ... { Name: John, Score: 68 }, ... { Name: David, Score: 46

  13. เพิ่มค่าของสมาชิกอาร์เรย์ออบเจกต์ใน MongoDB ด้วย $inc

    เมื่อต้องการเพิ่มค่า (increment) ของฟิลด์ในออบเจกต์ที่อยู่ในอาร์เรย์ ให้ใช้โอเปอเรเตอร์ $inc ร่วมกับ positional operator $ > db.demo506.insertOne({details: [{id: 1, Quantity: 4}, {id: 2, Quantity: 3}, {id: 3, Quantity: 2}, {id: 4, Quantity: 7}]}); { acknowledged : true, insertedId : ObjectId(5e8

  14. กรองฟิลด์ในออบเจกต์และดึงค่า SubjectName เฉพาะใน MongoDB

    เพื่อกรองและดึงเฉพาะฟิลด์ที่ต้องการจากออบเจกต์ในอาร์เรย์ ให้ใช้ $project ร่วมกับ $filter และ $match ใน Aggregation Pipeline > db.demo507.insertOne({ ... Information: [ ... {Name: John, SubjectName: MySQL}, ... {Name: Bob, SubjectName: MongoDB}, ... {Name: Chris, SubjectName: MySQL}

  15. MongoDB ติดตามจำนวนครั้งที่ดัชนีถูกใช้งานด้วย $indexStats

    ใช่ MongoDB สามารถติดตามได้ว่าแต่ละดัชนี (index) ถูกใช้งานในคิวรีกี่ครั้ง โดยใช้ขั้นตอน $indexStats ใน Aggregation Pipeline มาดูตัวอย่าง สร้างดัชนีและข้อมูลตัวอย่าง > db.demo508.createIndex({FirstName: 1}); { createdCollectionAutomatically : true, numIndexesBefore : 1, numIndexesAfter : 2, ok :

  16. ใช้ $addToSet เพิ่มค่าในอาร์เรย์ซ้อนอาร์เรย์ MongoDB

    เมื่อต้องการเพิ่มค่าเข้าไปในอาร์เรย์ที่อยู่ภายในอาร์เรย์ (nested array) โดยไม่ให้ซ้ำ ให้ใช้ update() ร่วมกับโอเปอเรเตอร์ $addToSet โอเปอเรเตอร์นี้จะเพิ่มค่าเข้าไปก็ต่อเมื่อค่านั้นยังไม่มีอยู่ในอาร์เรย์ > db.demo509.insertOne({ ... value1: [ ... { value2: [ 76, 14, 56 ] }, ... { value2:

  17. จับคู่และจัดกลุ่มสมาชิกอาร์เรย์ด้วยค่าสูงสุดใน MongoDB Aggregation

    เพื่อจับคู่และจัดกลุ่มสมาชิกในอาร์เรย์โดยใช้ค่าสูงสุด (max value) ให้ใช้ $group ร่วมกับ $max ใน MongoDB Aggregation Pipeline มาสร้างข้อมูลตัวอย่าง > db.demo510.insertOne({ ... details: [ ... { Name: Chris, Score: 56 }, ... { Name: David, Score: 45 } ... ] ... }); { acknowledged : tru

  18. คิวรี MongoDB ค้นหาเอกสารที่ตรงกับค่าในอาร์เรย์ด้วย $in

    เมื่อต้องการค้นหาเอกสารเฉพาะที่มีค่าตรงกับรายการในอาร์เรย์ ให้ใช้โอเปอเรเตอร์ $in ของ MongoDB มาสร้างคอลเลกชันตัวอย่างกันก่อน > db.demo511.insertOne({ListOfProject:[Library Management System,Hospital Management System]}); { acknowledged : true, insertedId : ObjectId(5e88473a987b6e0e9d18f585) } &

  19. นับรายการที่ไม่ซ้ำกันในฟิลด์แบบอาร์เรย์ทั่วทั้งเอกสาร MongoDB

    หากต้องการนับรายการที่ไม่ซ้ำกัน (unique items) ในฟิลด์ที่เป็นอาร์เรย์ ให้ใช้ขั้นตอน $group ร่วมกับเมธอด aggregate() มาสร้างคอลเลกชันพร้อมเอกสารตัวอย่างกันก่อน > db.demo493.insertOne({SubjectName:[MySQL,MongoDB,Java]}); { acknowledged : true, insertedId : ObjectId(5e849f97b0f3fa88e22790c4) } >

  20. อัปเดต Elements ภายใน Array ใน MongoDB

    การอัปเดต Element ภายใน Array ด้วย $set เพื่ออัปเดต Element ภายใน Array ให้ใช้ $set ใน MongoDB สร้าง Collection พร้อมข้อมูล > db.demo494.insertOne( ... { ... CollegeDetails : [ ... { ... CollegeName : MIT, ... Fees : 80000 ... }, ... { ...

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