Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB
MongoDB
  1. ลบ Element ใน Array (ที่เป็น Document) ด้วย $pull ใน MongoDB

    ใช้ Operator $pull เพื่อลบ Element ออกจาก Array โดยระบุเงื่อนไขการจับคู่ Element ที่ต้องการลบ (Element ที่เป็น Document/Object) สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.pullAnArrayElementDemo.insertOne({ StudentDetails: [ {StudentFirstName: Chris, StudentScore: 56}, {StudentFirstName

  2. เข้าถึงค่า Sub-document ใน MongoDB เมื่อ Key เป็นตัวเลข (Numeric Key)

    ใน MongoDB Key ของ Object สามารถเป็น String ที่เป็นตัวเลขได้ (เช่น 1, 2) การเข้าถึงต้องใช้ Bracket Notation [key] แทน Dot Notation สร้างคอลเลกชันและข้อมูลตัวอย่าง (Key เป็น String ตัวเลข) > db.accessSubDocumentDemo.insertOne({ Details: { 1: {StudentLowerScore: 33, StudentHoghScore: 55}

  3. หาขนาด (Size) ของเอกสารทั้งหมดใน Query Result ของ MongoDB

    MongoDB ไม่มีคำสั่ง Built-in สำหรับหา Size รวมของหลายเอกสาร ต้องใช้ Loop ผ่าน Cursor และ Object.bsonsize() เพื่อคำนวณขนาด BSON ของแต่ละเอกสารแล้วรวมกัน สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.sizeOfAllDocumentsDemo.insertOne({StudentFirstName:John,StudentSubject:[MongoDB,Java]}); { acknowledged: tr

  4. MongoDB สามารถคืนค่าผลลัพธ์หลัง Increment ได้หรือไม่? (findAndModify)

    ใช่ สามารถทำได้โดยใช้ findAndModify() ซึ่งทำการ Find, Modify, และ Return เอกสารที่อัปเดตแล้วใน Atomic Operation เดียว สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.returnResultOfIncementDemo.insertOne({PlayerScore: 98}); { acknowledged: true, insertedId: ObjectId(5cd3c292edc6604c74817cda) } แสดงข้อมูลก่

  5. MongoDB Query: ค้นหาค่าในช่วง (Range) ไม่รวมขอบเขต (Exclusive) และรวมขอบเขต (Inclusive)

    ใช้ Operator $gt (Greater Than) และ $lt (Less Than) สำหรับช่วง ไม่รวมขอบเขต (Exclusive) หรือ $gte และ $lte สำหรับ รวมขอบเขต (Inclusive) ไวยากรณ์ // Exclusive: 50 < x < 60 db.collection.find({field: {$gt: 50, $lt: 60}}); // Inclusive: 50 <= x <= 60 db.collection.find({field: {$gte: 50, $lte: 60}});

  6. ค้นหา Collection ที่ชื่อตรง Pattern (Like '%2015%') ใน MongoDB

    ใช้ db.getCollectionNames() ร่วมกับ JavaScript Array.filter() และ Regular Expression เพื่อกรองชื่อคอลเลกชันที่ตรง Pattern สร้างคอลเลกชันทดสอบ (ขึ้นต้นด้วยปี) > use web; switched to db web > db.createCollection(2015-myCollection); { ok: 1 } > db.createCollection(2019-employeeCollection); {

  7. ตรวจสอบฟิลด์ใน MongoDB ว่าเป็น Empty Array [] หรือ Empty Object {} ด้วย $gt และ $exists

    ใช้ Query ร่วมกัน 2 เงื่อนไข: $gt: {} (มากกว่า Empty Object) และ $exists: false บน Index 0 เพื่อแยกแยะระหว่าง Empty Object {} และ Empty Array [] ไวยากรณ์ db.collection.find({ yourField: {$gt: {}}, yourField.0: {$exists: false} }) สร้างคอลเลกชันและข้อมูลทดสอบ (หลายกรณี) > db.checkFieldDemo.i

  8. Distinct หลายฟิลด์พร้อมกันใน MongoDB ด้วย Aggregation $group และ $addToSet

    เมธอด distinct() รองรับฟิลด์เดียวเท่านั้น สำหรับ Distinct หลายฟิลด์พร้อมกัน ต้องใช้ Aggregation Pipeline ด้วย $group และ $addToSet สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.distinctOnMultipleFieldsDemo.insertOne({StudentFirstName:Chris,StudentAge:21,StudentCountryName:US}); { acknowledged: true, inse

  9. วิธีเปลี่ยนชื่อผู้ใช้ (Rename User) ใน MongoDB

    MongoDB ไม่มีคำสั่ง Rename User โดยตรง แต่สามารถทำได้โดย อัปเดต Collection system.users ใน Database admin ด้วย $set ไวยากรณ์ db.system.users.update( {user: yourOldUserName}, {$set: {user: yourNewUserName}} ); ขั้นตอนการเปลี่ยนชื่อ User 1. สลับไปที่ Database admin และดู User ทั้งหมด > use a

  10. นับจำนวนค่าที่ไม่ซ้ำ (Distinct Count) ของ Array Field ใน MongoDB

    ใช้เมธอด distinct() ร่วมกับ Property .length เพื่อนับจำนวนค่า Unique ของฟิลด์ในคอลเลกชัน ไวยากรณ์ db.collection.distinct(fieldName).length; สร้างคอลเลกชันและข้อมูลตัวอย่าง (มีค่าซ้ำ) > db.countOrSizeDemo.insertOne({StudentFirstName:John}); { acknowledged: true, insertedId: ObjectId(5cd304f5b64f

  11. รวมเงื่อนไข AND และ OR ใน MongoDB Query

    MongoDB รองรับการรวม Operator $and และ $or เพื่อสร้าง Query Logic ที่ซับซ้อนได้ โดย $and ทำงานแบบ AND ทุกเงื่อนไข และ $or ทำงานแบบ OR ระหว่างเงื่อนไข สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.combinedAndOrDemo.insertOne({StudentFirstName:John,StudentAge:23,StudentSkill:MongoDB}); { acknowledged: true

  12. วิธี Unset (ลบ) ตัวแปรใน MongoDB Shell

    ใน MongoDB Shell (JavaScript REPL) ใช้ Keyword delete เพื่อลบตัวแปรที่ประกาศไว้ ทำให้ตัวแปรนั้นกลับสู่สถานะ Not Defined ไวยากรณ์ delete yourVariableName; ตัวอย่างขั้นตอนการทดสอบ 1. ตรวจสอบตัวแปรที่ยังไม่ประกาศ > customerDetail; ผลลัพธ์: ReferenceError ReferenceError: customerDetail is not defi

  13. ทำให้ 2 ฟิลด์ (Columns) Unique ร่วมกันใน MongoDB ด้วย Compound Unique Index

    ใช้ Compound Unique Index เพื่อบังคับให้ชุดค่าของ 2 ฟิลด์ (หรือมากกว่า) ไม่ซ้ำกันในคอลเลกชัน (Composite Unique Constraint) สร้าง Compound Unique Index > db.keepTwoColumnsUniqueDemo.createIndex( {StudentFirstName: 1, StudentLastName: 1}, {unique: true} ); { createdCollectionAutomatically: t

  14. แทนที่เอกสาร MongoDB ทั้งหมด (Replace Entire Document) ด้วย update()

    การใช้ update() โดยส่ง Object ใหม่เป็นพารามิเตอร์ที่ 2 (ไม่มี Update Operators เช่น $set) จะทำให้ MongoDB แทนที่เอกสารทั้งอัน (Full Document Replacement) เก็บเฉพาะฟิลด์ใน Object ใหม่ สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.replacingEntireDocumentDemo.insertOne({ StudentFirstName: John, Stud

  15. อัปเดต Sub-object (Embedded Document) ใน MongoDB ด้วย $set

    ใช้ Operator $set ร่วมกับ Dot Notation เพื่อเพิ่มหรือแก้ไขฟิลด์ภายใน Embedded Document (Sub-object) โดยไม่กระทบฟิลด์อื่นใน Object เดียวกัน สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.updateSubObjectDemo.insertOne({ ClientId: 100, ClientDetails: {ClientFirstName: Adam} }); { acknowledged: true

  16. Projection: ดึงเฉพาะฟิลด์ Array ที่ต้องการใน MongoDB

    ใช้ Projection (พารามิเตอร์ที่ 2 ของ find()) ร่วมกับ Dot Notation เพื่อระบุว่าให้คืนค่าเฉพาะฟิลด์ใน Array ที่ต้องการ ลด Bandwidth และเพิ่มประสิทธิภาพ สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.projectionAnElementDemo.insertOne({ CustomerId: 100, CustomerDetails: [ {CustomerName: Chris, C

  17. MongoDB Query สำหรับฟิลด์ใน Embedded Document (Array of Objects)

    MongoDB สามารถ Query ฟิลด์ภายใน Object ที่อยู่ใน Array (Embedded Document) ได้โดยตรงด้วย Dot Notation โดยไม่ต้อง Unwind ก่อน สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.embeddedDocumentDemo.insertOne({ CustomerDetails: [ {CustomerName: Chris, CustomerPurchasePrice: 3000}, {CustomerName:

  18. ค้นหาเอกสาร MongoDB จาก Sub-array ด้วย Dot Notation และ $in

    ใช้ Dot Notation เข้าถึงฟิลด์ภายใน Object ที่อยู่ใน Array (Sub-array) ร่วมกับ Operator $in เพื่อค้นหาเอกสารที่มี Element ใน Array ตรงกับเงื่อนไขหลายค่า สร้างคอลเลกชันและข้อมูลตัวอย่าง (Array of Objects) > db.findDocumentDemo.insertOne({ EmployeeDetails: { EmployeeAppraisalTime: [

  19. ค้นหาเอกสารที่สร้างในสัปดาห์ที่ผ่านมาใน MongoDB

    ใช้ Operator $gte (Greater Than or Equal) ร่วมกับ Object Date() เพื่อค้นหาเอกสารที่มีฟิลด์วันที่อยู่ในช่วง 7 วันที่ผ่านมา ข้อมูลอ้างอิง: วันที่ปัจจุบันของระบบ > new Date(); ISODate(2019-05-14T08:32:42.773Z) สร้างคอลเลกชันและข้อมูลตัวอย่าง (ShippingDate) > db.findObectInLastWeekDemo.insertOne

  20. ค้นหาและแทนที่ฟิลด์ชนิด NumberLong ใน MongoDB

    ใช้ Operator $set ร่วมกับ update() เพื่อค้นหาและแทนที่ค่าของฟิลด์ที่เป็นชนิด NumberLong (64-bit Integer) ใน MongoDB สร้างคอลเลกชันและข้อมูลตัวอย่าง (มีฟิลด์ UserId เป็น NumberLong) > db.findAndReplaceDemo.insertOne({UserId: NumberLong(101)}); { acknowledged: true, insertedId: ObjectId(5cd2c960b6

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