Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB
MongoDB
  1. MongoDB Function: คืนค่าข้อมูลเฉพาะ (Specific Data/Value)

    ใช้ findOne() สำหรับดึงข้อมูลเฉพาะเจาะจง เมธอด findOne() คืนค่าเอกสารเดียวที่ตรงกับ query criteria เหมาะสำหรับ lookup ด้วย unique field หรือ primary key ตัวอย่างข้อมูล > db.demo473.insertOne({ _id: new ObjectId(), Name: Chris, details: { X-Coordinate: 10, Y-Coordinate: 15 } }); > db.de

  2. MongoDB Query: ตรวจสอบความมีอยู่ของหลายฟิลด์พร้อมกัน

    ใช้ $exists ร่วมกับ $and สำหรับ Multiple Field Existence Operator $exists ตรวจสอบว่าฟิลด์มีอยู่ในเอกสารหรือไม่ ร่วมกับ $and เพื่อตรวจสอบหลายฟิลด์พร้อมกัน ตัวอย่างข้อมูล > db.demo475.insertOne({ StudentFirstName: Chris, StudentAge: 23 }); > db.demo475.insertOne({ StudentFirstName: Bob, Studen

  3. MongoDB Query: อัปเดตเอกสารทั้งหมดที่ match IDs เฉพาะ

    ใช้ updateMany() พร้อม $in Operator เมธอด updateMany() อัปเดตทุกเอกสารที่ตรงกับ filter ร่วมกับ $in เพื่อระบุหลาย __id พร้อมกัน ตัวอย่างข้อมูล > db.demo476.insertOne({ _id: 1, Name: Chris }); > db.demo476.insertOne({ _id: 2, Name: David }); > db.demo476.insertOne({ _id: 3, Name: Bob }); &g

  4. หาขนาด BSON จริงของเอกสารใน MongoDB

    ใช้ Object.bsonsize() ใน MongoDB Shell ฟังก์ชัน Object.bsonsize() คืนค่าขนาดของเอกสารในหน่วย **Bytes** ตามมาตรฐาน BSON ตัวอย่างข้อมูล > db.demo477.insertOne({ ClientId: 1, ClientName: Chris }); > db.demo477.insertOne({ ClientId: 2, ClientName: David }); > db.demo477.insertOne({ ClientId:

  5. MongoDB $unwind: นับจำนวนข้อมูลในอาร์เรย์ซ้อน

    ใช้ $unwind แยกอาร์เรย์ แล้ว $group นับตามเงื่อนไข Operator $unwind แยกอาร์เรย์ออกเป็นเอกสารแยกต่างหาก ทำให้สามารถประมวลผลแต่ละอิลิเมนต์ได้ แล้ว $group นับเฉพาะที่ตรงเงื่อนไข ตัวอย่างข้อมูล (อาร์เรย์ซ้อน 2 ระดับ) > db.demo478.insertOne({ Details: { _id: 1, Information: [ { Name:

  6. MongoDB Query: เพิ่ม Timestamp เฉพาะเอกสารที่ยังไม่มี

    ใช้ update() พร้อม upsert:false, multi:true และ $exists: false เพื่อเพิ่มฟิลด์ timestamp เฉพาะเอกสารที่ยังไม่มีฟิลด์นั้น ให้ใช้ query { field: { $exists: false } } ร่วมกับ multi: true ตัวอย่างข้อมูล > db.demo479.insertOne({ DueDate: new ISODate(2020-01-10), Name: Chris }); > db.demo479.inser

  7. จัดรูปแบบค่าวันที่ใน MongoDB Shell

    ใช้ $dateToString ใน Aggregation Pipeline Operator $dateToString แปลง Date/ISODate เป็น String ตามรูปแบบที่กำหนด ใช้ใน $project ของ aggregation ตัวอย่างข้อมูล > db.demo480.insertOne({ id: 1, DueDate: new ISODate(2020-01-10) }); > db.demo480.insertOne({ id: 1, DueDate: new ISODate(2017-12-21)

  8. วิธีใช้ save() ให้ถูกต้องใน MongoDB

    db.collection.save() - Upsert แบบอัตโนมัติ เมธอด save() จะทำการ insert ใหม่ หากเอกสารไม่มี _id หรือ _id ไม่มีในระบบ และ update (replace) หาก _id มีอยู่แล้ว ตัวอย่างการใช้งาน > db.demo481.save({ FirstName: Chris, LastName: Brown }); WriteResult({ nInserted: 1 }) > db.demo481.save({ FirstName:

  9. MongoDB Query: อัปเดต Tag ในอาร์เรย์

    ใช้ update() พร้อม Positional $ Operator สำหรับ Tag เมื่อ tags เก็บเป็นอาร์เรย์ของออบเจ็กต์ ใช้ dot notation และ positional $ เพื่ออัปเดต tag เฉพาะ id ตัวอย่างข้อมูล > db.demo713.insertOne({ tags: [ { id: 101, Name: Tag-1 }, { id: 102, Name: Tag-3 }, { id: 103, Name: Tag-3 } ] }

  10. อัปเดตเอกสารเฉพาะในอาร์เรย์ด้วย $set และ Positional $ Operator ใน MongoDB

    ใช้ updateOne() พร้อม Positional $ Operator เมื่อต้องการอัปเดตเฉพาะอิลิเมนต์ในอาร์เรย์ที่ตรงเงื่อนไข ให้ใช้ $ (positional operator) ร่วมกับ $set ใน updateOne() ตัวอย่างข้อมูล > db.demo462.insertOne({ id: 1, DueDateDetails: [ { Name: David, Age: 21, CountryName: [US, UK] }, { Name: C

  11. วิธีดึงข้อมูลจากคอลเลกชัน MongoDB

    ใช้ findOne() สำหรับดึงเอกสารเดี่ยว เมธอด findOne() คืนค่าเอกสารแรกที่ตรงกับเงื่อนไข (หรือเอกสารแรกในคอลเลกชันถ้าไม่ระบุ filter) ตัวอย่างข้อมูล > db.demo463.insertOne({ StudentName: Chris Brown, StudentAge: 21, StudentCountryName: US }); > db.demo463.insertOne({ StudentName: David Miller, St

  12. วิธี исключить ค่าฟิลด์ประเภทอาร์เรย์ใน MongoDB

    ใช้ JavaScript forEach และ delete() ใน MongoDB Shell MongoDB ไม่มี operator ตรงๆ สำหรับลบฟิลด์ออกจากทุกอิลิเมนต์ในอาร์เรย์ ต้องใช้ JavaScript ใน shell วนลูปลบแต่ละอิลิเมนต์ ตัวอย่างข้อมูล > db.demo464.insertOne({ id: 101, details: [{ Name: Chris }, { Name: David }] }); Query ลบฟิลด์ Name จากทุ

  13. วิธีดึงเอกสารที่มีออบเจ็กต์เฉพาะในอาร์เรย์ด้วย MongoDB

    ใช้ Dot Notation ใน find() สำหรับ Query อาร์เรย์ของออบเจ็กต์ MongoDB รองรับการ query เข้าถึงฟิลด์ภายในออบเจ็กต์ที่อยู่ในอาร์เรย์ได้โดยตรงด้วย dot notation ตัวอย่างข้อมูล > db.demo465.insertOne({ id: 101, details: [ { Name: Chris, Info: { Subject: MongoDB, Marks: 67 } }, { Name: Davi

  14. MongoDB: ใช้ $group และ $sum แบบ Nested นับจำนวน Stock ต่อ ProductID

    การจัดกลุ่มข้อมูลสินค้าและนับจำนวนรหัสสินค้าที่ซ้ำ ใช้ $group ค่าฟิลด์หลายอย่างพร้อมกัน: $sum สำหรับผลรวมตัวเลข, $addToSet สำหรับเก็บค่าไม่ซ้ำ, $size นับจำนวน ตัวอย่างข้อมูล > db.demo466.insertOne({ ProductPrice: 150, ProductQuantity: 1, ProductName: Product-1, ActualAmount: 110, ProductProfit:

  15. วิธีลบรายการจากออบเจ็กต์ใน MongoDB

    ใช้ $unset เพื่อลบฟิลด์เฉพาะในออบเจ็กต์ Operator $unset ลบฟิลด์ที่ระบุออกจากเอกสาร ใช้ dot notation ระบุพาธของฟิลด์ย่อย ตัวอย่างข้อมูล > db.demo467.insertOne({ _id: 101, Information: { Name: Chris } }); > db.demo467.insertOne({ _id: 102, Information: { Name: David } }); Query ลบฟิลด์ Name ใ

  16. วิธีค้นหาเอกสาร MongoDB ที่ลึก 2 ระดับ (Two-level Deep)

    ใช้ $where กับ JavaScript Function สำหรับ Query แบบ Dynamic เมื่อโครงสร้างข้อมูลมีฟิลด์ซ้อนที่ไม่คงที่ (dynamic keys) ใช้ $where พร้อม JavaScript function วนลูปตรวจสอบทุกระดับ ตัวอย่างข้อมูล (2 ระดับ: FirstPosition, SecondPosition) > db.demo468.insertOne({ _id: new ObjectId(), FirstPosition

  17. ค้นหาเอกสารที่มีค่าเฉพาะด้วย Regular Expressions ใน MongoDB

    ใช้ $regex สำหรับ Pattern Matching Operator $regex ช่วยค้นหาข้อความที่ตรงกับรูปแบบ (pattern) รองรับ Regular Expressions ทั้งหมด พร้อม options เช่น case-insensitive ตัวอย่างข้อมูล > db.demo469.insertOne({ StudentName: John Doe }); > db.demo469.insertOne({ StudentName: Chris Brown }); > db.

  18. คืนค่าระเบียนที่อายุเป็น Integer ใน MongoDB

    ใช้ $type เพื่อกรองตามชนิดข้อมูล BSON Operator $type เลือกเอกสารที่ฟิลด์มีชนิดข้อมูลตรงตามที่ระบุ (BSON type) เช่น number, string, object, array ตัวอย่างข้อมูล (ผสม String และ Number) > db.demo470.insertOne({ Age: 23 }); > db.demo470.insertOne({ Age: Unknown }); > db.demo470.insertOne({ A

  19. MongoDB Aggregate: หาค่าเฉลี่ยรายวันของจำนวนเอกสารที่บันทึก

    คำนวณ Mean Daily Average Count ด้วย $group และ $project ใช้ $match กรองวันที่, $group หาวันแรกสุดและผลรวม, $project คำนวณค่าเฉลี่ยต่อวันจากช่วงเวลาทั้งหมด ตัวอย่างข้อมูล > db.demo451.insertOne({ DueDate: new ISODate(2020-03-15T10:50:35.000Z), Value: 10 }); > db.demo451.insertOne({ DueDate: n

  20. MongoDB: หาจำนวนค่าซ้ำในเอกสารต่างๆ ด้วย Aggregation

    นับความถี่ของค่า และจัดกลุ่ม อื่นๆ ด้วย Pipeline หลายขั้นตอน ใช้ $group นับจำนวน, $sort เรียง, แล้ว $project แยก Top-N และรวมที่เหลือเป็น New Student Name ตัวอย่างข้อมูล > db.demo452.insertOne({ StudentName: John, StudentAge: 21 }); > db.demo452.insertOne({ StudentName: John, StudentAge: 22

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