Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB
MongoDB
  1. MongoDB Aggregate: Join Array Field กับ Collection อื่นด้วย $lookup

    การ join ข้อมูลระหว่าง array field ใน collection หนึ่งกับ _id ของอีก collection ใช้ $lookup ร่วมกับ $unwind เพื่อแยก array ก่อน join แล้วค่อยรวมกลับ สร้าง Collection แรก (demo101) - มี Array Field > db.demo101.insertOne({ _id : 1, Details : [ { PId : 200 }, { PId : 201 }, { PId :

  2. Query Element สุดท้ายของ Array ใน MongoDB ด้วย $arrayElemAt

    การเข้าถึง element สุดท้าย (หรือ index ใดก็ได้) ของ array ใน MongoDB ใช้ $arrayElemAt ใน aggregate pipeline รองรับ index ลบ (-1 = ตัวสุดท้าย) สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.demo103.insertOne({ Details : [ { StudentId : 101, Details : MongoDB }, { StudentId : 102, Details : MySQL

  3. ใช้ $dateToString กับ Array Items ใน MongoDB Aggregate

    การแปลงวันที่ใน array elements ให้เป็น string format ที่ต้องการ ทำได้ด้วย $dateToString ร่วมกับ $map ใน aggregate pipeline สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.demo104.insertOne({ AppName : Online Book, Details : [ { ClientName : Chris, Deadline : new ISODate(2020-03-10)

  4. MongoDB: Insert Array Element หากไม่มี, อัปเดตหากมี (Multiple Conditions) ด้วย bulkWrite

    การทำ upsert แบบมีเงื่อนไขหลายอย่างใน array (อัปเดตถ้ามี element ตรงเงื่อนไข, insert ใหม่ถ้าไม่มี) ทำได้ด้วย bulkWrite() ที่รวมหลาย operations ในครั้งเดียว สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.demo105.insertOne({ _id: 101, Name: Chris, Details: [ { Marks1: 60, Marks2: 70, Marks3: 70 },

  5. การใช้ Variables ใน MongoDB Query (Mongo Shell)

    ใน Mongo Shell สามารถใช้ตัวแปร JavaScript (var/let/const) เพื่อเก็บค่าและนำไปใช้ใน query ได้ ทำให้โค้ดอ่านง่ายและ reuse ค่าได้ สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.demo107.insertOne({Name:Chris}); { acknowledged : true, insertedId : ObjectId(5e2ee1b19fd5fd66da214471) } > db.demo107.insertOne(

  6. ลบข้อมูลซ้ำ (Duplicate) โดยอ้างอิง 2 Keys ใน MongoDB

    การลบเอกสารซ้ำที่มีค่า field เดียวกัน 2 fields (Composite Key) ทำได้ด้วย aggregate pipeline ใช้ $group จัดกลุ่ม $first เก็บเอกสารแรก แล้ว $out เขียนทับคอลเลกชันเดิม สร้างคอลเลกชันและข้อมูลตัวอย่าง (มีข้อมูลซ้ำ) > db.demo108.insertOne({Value1:23,Value2:24}); { acknowledged : true, insertedId : Ob

  7. ดึงข้อมูล Nested JSON Object เฉพาะส่วนที่ต้องการใน MongoDB

    การดึงข้อมูลเฉพาะ nested object ที่ตรงเงื่อนไขใน MongoDB สามารถทำได้ด้วย findOne() ร่วมกับ projection ที่ใช้ $elemMatch เพื่อกรอง element ใน array สร้างคอลเลกชันและข้อมูลตัวอย่าง (โครงสร้างซ้อน 3 ระดับ) > db.demo109.insertOne({ Name : Chris, Subjects : [ { Id : 100, Name: MyS

  8. การอัปเดตข้อมูลใน MongoDB ด้วย update()

    การอัปเดตข้อมูลใน MongoDB ใช้ method update() (รุ่นเก่า) หรือ updateOne()/updateMany() (รุ่นใหม่) ร่วมกับ update operators เช่น $set, $inc, $unset สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.demo110.insertOne({Name:Chris}); { acknowledged : true, insertedId : ObjectId(5e2eeb949fd5fd66da21447b) } > d

  9. MongoDB Query: กรองข้อมูลด้วยหลาย Array Elements ($elemMatch)

    เมื่อต้องการค้นหาเอกสารที่ array field มี element ตรงกับหลายเงื่อนไขพร้อมกัน ให้ใช้ $elemMatch ซึ่งจะจับคู่ element เดียวที่ตรงทุกเงื่อนไข สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.demo87.insertOne({ id:101, Details: [ { EmployeeName: Chris, Salary: 45000 }, { EmployeeName: David, Salary:

  10. ใช้ Field Value เป็น Pattern ใน $regex MongoDB ด้วย $indexOfCP

    MongoDB ไร้การรองรับการใช้ field value เป็น regex pattern โดยตรงใน $regex แต่สามารถทำได้ด้วย $indexOfCP (code point index) ใน aggregate pipeline เพื่อตรวจสอบว่า field หนึ่งมีค่าอีก field หนึ่งเป็น substring หรือไม่ สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.demo88.insertOne({ Name: Chris, Pass

  11. MongoDB Query: ดึง Array ของ Nested String ด้วย Dot Notation

    การ query เข้าถึง nested array string (array ใน object ใน array) ใน MongoDB ทำได้ง่ายด้วย Dot Notation ใน find() โดยไม่ต้องใช้ aggregate สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.demo89.insertOne({ id: 101, Details: [ { Name: Chris, Marks: 45 }, { Name: David, Marks: 55, Subjects : [MySQL,

  12. MongoDB Query: ค้นหาเอกสารที่ Array มี Substring ของคำเฉพาะ

    การค้นหาเอกสารที่ array field มี element เป็น substring ของคำที่กำหนด (เช่น array มี john และ jace ซึ่งเป็น substring ของ john) ต้องใช้ aggregate pipeline พร้อม $expr, $map, $indexOfBytes สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.demo90.insertOne({ words: [john, jace] }); { acknowledged : true, inser

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

    การ query ข้อมูลที่มีวันที่มากกว่าหรือเท่ากับวันที่กำหนด ใช้ operator $gte (greater than or equal) กับ ISODate สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.demo91.insertOne({ArrivalDate:new ISODate(2020-01-10)}); { acknowledged : true, insertedId : ObjectId(5e2d49fd79799acab037af66) } > db.demo91.ins

  14. แปลง Date เป็น Timestamp ใน MongoDB

    การแปลง Date (ISODate) เป็น Unix timestamp (milliseconds since epoch) ใน MongoDB ทำได้ด้วย $toLong ใน aggregate pipeline (MongoDB 4.0+) สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.demo93.insertOne({UserName:Chris,ArrivalDate:new ISODate(2020-10-01)}); { acknowledged : true, insertedId : ObjectId(5e2d4b

  15. อัปเดต Array ด้วยหลายเงื่อนไขใน MongoDB

    การอัปเดต array element ที่ตรงกับหลายเงื่อนไข (multiple conditions) ใช้ updateOne() ร่วมกับ $elemMatch ใน filter และ $push เพื่อเพิ่มข้อมูลเข้า array ย่อย สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.demo94.insertOne({ ... Details : [ ... { Name : Chris, Subject : [] }, ... { Name : David, Sub

  16. แปลง String เป็น ObjectId ใน MongoDB

    MongoDB 4.0+ มี operator $toObjectId สำหรับแปลง string ที่เป็น ObjectId hex string 24 ตัวอักษร ให้กลายเป็น ObjectId จริง ใช้ใน aggregate pipeline สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.demo95.insertOne({Id:5ab9cbe531c2ab715d42129a}); { acknowledged : true, insertedId : ObjectId(5e2d5ef5b8903cdd865

  17. หาผลรวม Field ภายใน Array ด้วย MongoDB

    การคำนวณผลรวม (sum) ของ field 数值ภายใน array ของแต่ละเอกสาร ทำได้ด้วย $sum ใน stage $project ของ aggregate pipeline สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.demo96.insertOne({ ... Name : Chris, ... Details : [ ... { Marks:67 }, ... { Marks:33 }, ... { Marks:50 } ... ] ... }); { ackn

  18. เพิ่มค่า Property ใน Array Object ด้วย $inc ใน MongoDB

    การเพิ่มค่า (increment) ของ field ภายใน object ที่อยู่ใน array สามารถทำได้ด้วย update() ร่วมกับ positional operator $ และ $inc สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.demo97.insertOne({ ... Details: [ ... { Name: Chris, Marks: 45 }, ... { Name: Bob, Marks: 88 } ... ] ... }); { acknowled

  19. Multilevel $group ใน MongoDB Aggregation

    การจัดกลุ่มข้อมูลหลายระดับ (Multilevel Grouping) ใน MongoDB ทำได้ด้วยการใช้ $group หลายขั้นตอนใน aggregate pipeline ตัวอย่างนี้จัดกลุ่มตามอายุและประเทศ แล้วรวมประเทศเป็น object สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.demo76.insertOne({ Name:Chris,Age : 21, CountryName : US }); > db.demo76.insert

  20. วิธีอัปเดต MongoDB Object (Nested Field)

    การอัปเดต field ที่อยู่ภายใน object (nested field) ใน MongoDB ใช้ update() ร่วมกับ $set และ dot notation เพื่อระบุ path ไปยัง field เป้าหมาย สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.demo77.insertOne({Details : { Score : 78 } }); { acknowledged : true, insertedId : ObjectId(5e2bd6f371bf0181ecc4228a)

Total 1351 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:36/68  20-คอมพิวเตอร์/Page Goto:1 30 31 32 33 34 35 36 37 38 39 40 41 42