Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB
MongoDB
  1. ลบตาราง (Collection) จากฐานข้อมูล MongoDB

    ใช้ drop() ลบ Collection ทั้งหมด คำสั่ง db.collection.drop() จะลบ Collection รวมถึง Indexes และ Data ทั้งหมดอย่างถาวร รูปแบบคำสั่ง db.yourCollectionName.drop(); ตัวอย่าง: สร้าง Collection แล้วลบ > db.deleteTableDemo.insertOne({Name:Chris,Age:23}); > db.deleteTableDemo.insertOne({Name:Carol,A

  2. แสดง MongoDB Record ที่ Distinct, Ordered พร้อม Skip และ Limit

    ใช้ Aggregation Pipeline: $group + $sort + $skip + $limit เมื่อต้องการค่าที่ไม่ซ้ำ (Distinct) เรียงลำดับ (Sorted) และแบ่งหน้า (Skip/Limit) ใช้ Aggregation แทน distinct() เพราะ distinct() ไม่รองรับ Sort/Skip/Limit โดยตรง ตัวอย่างข้อมูล: ชื่อซ้ำกัน > db.orderedDistinctDemo.insertOne({Name:John});

  3. Return Type ของ db.collection.find() ใน MongoDB

    db.collection.find() คืนค่า Cursor ไม่ใช่ Array หรือ Document เมธอด find() ใน MongoDB ส่งคืน Cursor Object ซึ่งเป็น Pointer/Iterator ที่ชี้ไปที่ Result Set สามารถวนลูปหรือแปลงเป็น Array ได้ ตัวอย่างข้อมูล > db.findCursorDemo.insertOne({ClientFirstName:John,ClientLastName:Smith}); > db.findCur

  4. Query ค่า Null ใน MongoDB

    ใช้ $ne: null หาเอกสารที่ฟิลด์ ไม่ใช่ Null ใน MongoDB ค่า null มีความหมายพิเศษ: Query { field: null } จะ Match ทั้ง Field ที่เป็น Null และ Field ที่ Missing (ไม่มีฟิลด์นั้น) ใช้ $ne: null เพื่อกรองเฉพาะที่มีค่าจริง ตัวอย่างข้อมูล > db.queryingNullDemo.insertOne({ StudentName: Larry, Stud

  5. เพิ่มฟิลด์ให้เอกสารที่มีอยู่แล้วใน MongoDB

    ใช้ $set เพิ่ม Field ใหม่ในเอกสารที่มีอยู่ โอเปอเรเตอร์ $set สามารถเพิ่มฟิลด์ใหม่หรืออัปเดทฟิลด์เดิมได้ โดยไม่กระทบฟิลด์อื่นในเอกสารเดียวกัน ตัวอย่างข้อมูล > db.addAFieldToEveryRecordDemo.insertOne({ClientName:Chris,ClientAge:34}); > db.addAFieldToEveryRecordDemo.insertOne({ClientName:Robert,

  6. MongoDB Query ดึง Element ออกจากอาร์เรย์ ($pull)

    ใช้ $pull ลบ Element เฉพาะออกจากอาร์เรย์ โอเปอเรเตอร์ $pull ลบ Element ที่ Match ค่าที่ระบุออกจาก Array โดยอัตโนมัติจัด Index ใหม่ ตัวอย่างข้อมูล > db.pullElementFromAnArrayDemo.insertOne({StudentScores:[89,56,78,90]}); คำสั่งลบค่า 78 ออกจาก StudentScores > db.pullElementFromAnArrayDemo.upda

  7. Query หลายพารามิเตอร์ใน MongoDB (Dot Notation)

    ใช้ Dot Notation Query ฟิลด์ซ้อนใน Object และ Array MongoDB รองรับการ Query เข้าถึงฟิลด์ลึก (Nested Field) โดยใช้ Dot Notation (จุด) คั่นระหว่างระดับ ตัวอย่างข้อมูล: Customer มี Details เป็น Array of Objects > db.multipleParametersDemo.insertOne({ CustomerName: Larry, CustomerDetails: [

  8. ดึง (Pull) ทุก Element ออกจากอาร์เรย์ใน MongoDB โดยไม่มีเงื่อนไข

    ใช้ $set ตั้งค่าอาร์เรย์เป็น Empty Array [] เมื่อต้องการลบ ทุกสมาชิก ในอาร์เรย์ (Clear Array) วิธีง่ายและเร็วที่สุดคือใช้ $set ตั้งค่าเป็น [] แทนการใช้ $pull ซ้ำๆ ตัวอย่างข้อมูล > db.pullAllElementDemo.insertOne({ StudentId: 101, StudentDetails: [ { StudentName: Carol, StudentAge

  9. กลับลำดับอาร์เรย์ (Reverse Array) ใน MongoDB

    ใช้ forEach() + update() กลับลำดับอาร์เรย์ใน MongoDB Shell MongoDB ไม่มี Built-in Operator สำหรับ Reverse Array โดยตรง แต่สามารถทำได้ด้วย JavaScript ใน Shell ตัวอย่างข้อมูล > db.reverseArrayDemo.insertOne({Skills:[C,Java]}); คำสั่ง Reverse Array > db.reverseArrayDemo.find().forEach(function(

  10. ทำ Alphanumeric Sort (เรียงตัวเลขในสตริง) ใน MongoDB

    ใช้ Collation numericOrdering: true เรียงสตริงที่มีตัวเลขให้ถูกต้อง Default Sort ของ MongoDB เรียงแบบ Lexicographic (ตัวอักษร) ทำให้ STU1010 อยู่ก่อน STU908 แต่ถ้าเปิด numericOrdering จะอ่านตัวเลขในสตริงเป็นจำนวน ตัวอย่างข้อมูล > db.alphanumericSortDemo.insertOne({StudentId:STU1010}); > db.al

  11. หาชนิดข้อมูล (Data Type) ของทุกฟิลด์ใน MongoDB

    ใช้ typeof ใน MongoDB Shell ตรวจสอบ Data Type ของ Field ใน MongoDB Shell (JavaScript) สามารถใช้ typeof operator ตรวจสอบชนิดข้อมูลของฟิลด์ในเอกสารได้ ตัวอย่างข้อมูล > db.findDataTypeDemo.insertOne({ClientName:Chris,isMarried:false}); ตรวจสอบ Data Type > typeof db.findDataTypeDemo.findOne().is

  12. Query Sub-element (องค์ประกอบย่อย) ใน MongoDB

    ใช้ Positional Operator $ Project เฉพาะ Element ที่ Match ใน Array เมื่อ Query Array of Objects และต้องการ Return เฉพาะ Element แรกที่ Match ใช้ $ (Positional Projection) ใน Projection Document ตัวอย่างข้อมูล > db.subElementQueryingDemo.insertOne({ ClientName: Chris, Status: [ { isMarrie

  13. หาส่วนร่วม (Intersection) ของเซตระหว่างเอกสารใน MongoDB

    ใช้ $setIntersection ใน Aggregation หาค่าที่ซ้ำกันระหว่างอาร์เรย์ โอเปอเรเตอร์ $setIntersection รับอาร์เรย์ 2 ตัวขึ้นไป คืนค่าอาร์เรย์ที่มีเฉพาะค่าที่ปรากฏใน ทุกอาร์เรย์ (Intersection) ตัวอย่างข้อมูล: 3 เอกสาร มีอาร์เรย์ต่างกัน > db.setInterSectionDemo.insertOne({_id:101, Value1:[55,67,89]}); &g

  14. Prepend String (เติมข้อความหน้า) ทุกแถวในคอลัมน์ MongoDB

    ใช้ Aggregation $concat เติม Prefix ให้ทุก Document เมื่อต้องการเติมข้อความหน้าฟิลด์ทุกเอกสาร (เช่นเพิ่ม Mr. หน้าชื่อ) ใช้ $project + $concat ใน Aggregation Pipeline ตัวอย่างข้อมูล > db.prependDemo.insertOne({StudentFirstName:John}); > db.prependDemo.insertOne({StudentFirstName:Chris}); >

  15. ทำ Slice Chain (Slice ของ Slice) ใน MongoDB ได้ไหม?

    ใช้ Aggregation Pipeline ทำ Slice ซ้อน Slice (Multi-level Array Slicing) MongoDB ไม่มี Slice Chain ตรงตัว แต่สามารถทำได้ด้วย $unwind หลายรอบ แล้ว $group + $last/$first หรือใช้ $arrayElemAt (4.4+) ตัวอย่างข้อมูล: อาร์เรย์ 2 มิติ > db.sliceOfSliceDemo.insertOne({ Name: John, Details: [ [Fi

  16. ใช้เงื่อนไขหลายอย่าง (Multiple Conditions) ใน MongoDB

    ใช้ $or รวมเงื่อนไขหลายอย่างใน Query/Update/Remove โอเปอเรเตอร์ $or ทำ Logical OR ระหว่างเงื่อนไขหลายตัว - Match ถ้าตรง อย่างน้อย 1 เงื่อนไข ตัวอย่างข้อมูล > db.multipleConditionDemo.insertOne({_id:1,Name:John}); > db.multipleConditionDemo.insertOne({_id:2,Name:Carol}); > db.multipleCondit

  17. Escape Quotes (อักขระเครื่องหมายคำพูด) ขณะ Insert ใน MongoDB

    ใช้ Unicode Escape Sequence \u0022 สำหรับ Double Quote ใน String ใน MongoDB Shell (JavaScript) สตริงใช้ Single Quote หรือ Double Quote หากต้องการใส่ Double Quote ลงใน String ที่อยู่ใน Double Quote ต้อง Escape ด้วย Backslash หรือใช้ Unicode วิธีการ: ใช้ \u0022 (Unicode สำหรับ ) > db.escapingQuote

  18. ค้นหาในโครงสร้างแบบ Dictionary ด้วย Value ใน MongoDB

    Query Nested Object (Dictionary-like) ด้วย Dot Notation MongoDB รองรับการ Query ลึกเข้าไปใน Nested Object (Embedded Document) โดยใช้ Dot Notation ระบุ Path ไปยังฟิลด์เป้าหมาย ตัวอย่างข้อมูล: โครงสร้าง Dictionary ของ Customer > db.findInDictionaryDemo.insertOne({ _id: 101, AllCustomerDeta

  19. เปลี่ยนรหัสผ่าน User ใน MongoDB

    ใช้ db.changeUserPassword() เปลี่ยนรหัสผ่านผู้ใช้ ใน MongoDB 3.0+ สามารถเปลี่ยนรหัสผ่าน User ได้โดยตรงผ่าน Shell โดยไม่ต้องลบและสร้างใหม่ ขั้นตอน: สร้าง User ก่อน (ถ้ายังไม่มี) > use admin switched to db admin > db.createUser({ user: Chris, pwd: chris, roles: [ { role: readWrite,

  20. ดึง (Pull) หลาย Object ออกจากอาร์เรย์ใน MongoDB

    ใช้ $pull + $in ลบหลาย Object จากอาร์เรย์พร้อมกัน เมื่อต้องการลบหลายรายการจากอาร์เรย์ของ Object ใช้ $pull ร่วมกับ $in บนฟิลด์เฉพาะใน Sub-document ตัวอย่างข้อมูล: Client Personal Details > db.pullMultipleObjectsDemo.insertOne({ ClientId: 100, ClientName: John, ClientPersonalDetails: [

Total 1351 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:51/68  20-คอมพิวเตอร์/Page Goto:1 45 46 47 48 49 50 51 52 53 54 55 56 57