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

    ใช้ $set พร้อม forEach เพื่อแปลงฟิลด์เดี่ยวให้กลายเป็นอาร์เรย์ ให้ใช้ $set ร่วมกับ forEach เพื่อวนลูปอัปเดตทุกเอกสาร > db.convertAFieldToAnArrayDemo.find().forEach(function(myDocument) { db.convertAFieldToAnArrayDemo.update({ _id: myDocument._id }, { $set: { StudentSubject: [myDocument.StudentSub

  2. วิธีอัปเดตออบเจกต์ลูก (Child Objects) ใน MongoDB

    ใช้ $set สำหรับอัปเดตฟิลด์ซ้อนกัน เพื่ออัปเดตฟิลด์ภายในออบเจกต์ซ้อน (nested object) ให้ใช้ตัวดำเนินการ $set พร้อม dot notation ตัวอย่าง > db.updateChildObjectsDemo.insertOne({StudentName:Chris,StudentOtherDetails:{StudentSubject:MongoDB,StudentCountryName:AUS}}); คำสั่งอัปเดต StudentCountryName จ

  3. การดึงค่าจากอาร์เรย์ในคำสั่ง Find ของ MongoDB

    ใช้ Dot Notation (.) เพื่อดึงค่าจากอาร์เรย์ในคำสั่ง find ให้ใช้การเข้าถึงแบบ dot notation เริ่มต้นด้วยการสร้างคอลเลกชันพร้อมข้อมูลผู้ใช้ > db.retrievingArrayDemo.insertOne({ UserDetails: [ { UserName: John, UserAge: 23 } ], UserCountryName: AUS, UserLoginDate: new ISODate(), UserMessage: Hello })

  4. การอัปเดตอิลิเมนต์เดี่ยวในอาร์เรย์ของเอกสาร MongoDB

    ใช้ Positional Operator ($) เพื่ออัปเดตอิลิเมนต์เฉพาะในอาร์เรย์ ให้ใช้ตัวดำเนินการตำแหน่ง $ เริ่มต้นด้วยการสร้างคอลเลกชันพร้อมข้อมูลพนักงาน > db.updateASingleListDemo.insertOne({ _id:1, EmployeeName:Chris, EmployeeDetails: [ { EmployeeId:EMP-101, EmployeeSalary: 18999 } ] }); คำสั่งอัปเดตเงินเดือ

  5. ความยาวสูงสุดของชื่อฟิลด์ใน MongoDB

    ไม่มีข้อจำกัดความยาวชื่อฟิลด์ MongoDB ใช้รูปแบบข้อมูล BSON ซึ่งไม่มีข้อจำกัดความยาวสูงสุดของชื่อฟิลด์ สามารถทดสอบได้โดยสร้างฟิลด์ที่มีชื่อยาวมาก > db.maxLengthDemo.insertOne({ maxLengthhhhh...(ยาวมาก): This is demo }); ผลลัพธ์แสดงว่า MongoDB ยอมรับชื่อฟิลด์ที่ยาวมากได้โดยไม่มีปัญหา

  6. การคำนวณค่าเฉลี่ยคะแนนใน MongoDB ด้วย Aggregate

    ใช้ $avg ใน Aggregate Framework ตัวดำเนินการ $avg ร่วมกับ aggregate ใช้คำนวณค่าเฉลี่ยของฟิลด์ตัวเลข เริ่มต้นด้วยการสร้างคอลเลกชันพร้อมคะแนนนักเรียน > db.averageReturiningNullDemo.insertOne({ StudentDetails: { StudentScore: 89 } }); คำสั่งคำนวณค่าเฉลี่ย: > db.averageReturiningNullDemo.aggregate

  7. การกรองข้อมูลด้วยหลายอิลิเมนต์ในอาร์เรย์ MongoDB

    ใช้ $elemMatch สำหรับการกรองหลายเงื่อนไข ตัวดำเนินการ $elemMatch ใช้จับคู่เอกสารที่มีฟิลด์อาร์เรย์ซึ่งมีอิลิเมนต์อย่างน้อยหนึ่งตัวตรงกับเกณฑ์ที่กำหนดทั้งหมด ตัวอย่างข้อมูลนักเรียน > db.filterBySeveralElementsDemo.insertOne({ _id:100, StudentDetails: [ { StudentName: John, StudentCountryName: US }

  8. การจับคู่เกณฑ์หลายเงื่อนไขภายในอาร์เรย์ด้วย MongoDB

    ใช้ $elemMatch ใน Aggregate Framework สำหรับการจับคู่เกณฑ์หลายเงื่อนไขภายในอาร์เรย์ ให้ใช้ $elemMatch ร่วมกับ aggregate เริ่มต้นด้วยการสร้างคอลเลกชันพร้อมข้อมูลพนักงาน > db.matchMultipleCriteriaDemo.insertOne({ EmployeeDetails: [ { EmployeeName: Chris, Salary: 45000, Language: Java }, { EmployeeN

  9. วิธีอัปเดตฟิลด์ _id ใน MongoDB

    การเปลี่ยนแปลงค่า _id โดยอ้อม ไม่สามารถอัปเดตฟิลด์ _id โดยตรงได้ ต้องใช้วิธีการคัดลอกเอกสาร แล้วเปลี่ยนค่า _id และบันทึกใหม่ พร้อมลบเอกสารเดิม ขั้นตอนการทำงาน ค้นหาเอกสาร: var myDocument = db.updatingIdFieldDemo.findOne({StudentName:Chris}) เปลี่ยนค่า _id: myDocument._id = 101 บันทึกเอกสารใหม่: db.

  10. การแสดงฐานข้อมูลในรายการ SHOW dbs ต้องเพิ่มคอลเลกชันก่อนหรือไม่

    เงื่อนไขการแสดงฐานข้อมูลในรายการ ใช่ เพื่อให้ฐานข้อมูลปรากฏในรายการจากคำสั่ง SHOW dbs ต้องสร้างฐานข้อมูลและเพิ่มคอลเลกชันอย่างน้อยหนึ่งคอลเลกชัน มิฉะนั้นจะไม่แสดงในรายการ ขั้นตอนการทดสอบ สร้างฐานข้อมูลด้วยคำสั่ง use webcustomertracker เพิ่มคอลเลกชันและข้อมูล: db.first_Collection.insert({Name:Chris}

  11. วิธีคืนค่าเอกสารโดยไม่รวม ObjectId ใน MongoDB

    การสืบค้นเอกสารโดยไม่แสดง _id เพื่อคืนค่าเอกสารโดยไม่รวมฟิลด์ _id ให้ตั้งค่า _id: 0 ในการสืบค้น เริ่มต้นด้วยการสร้างคอลเลกชันพร้อมข้อมูลตัวอย่าง > db.returnDocumentWithoutObjectId.insertOne({Name:Carol,Age:25}); คำสั่งแสดงเอกสารทั้งหมด (รวม _id): > db.returnDocumentWithoutObjectId.find(); คำสั

  12. คำสั่ง MongoDB สำหรับลบออบเจกต์ว่างในอาร์เรย์ของออบเจกต์

    การลบออบเจกต์ว่างออกจากอาร์เรย์ด้วย $pull สามารถใช้ตัวดำเนินการ $pull เพื่อลบออบเจกต์ว่างออกจากอาร์เรย์ได้ เริ่มต้นด้วยการสร้างคอลเลกชันพร้อมเอกสารตัวอย่าง ซึ่งมีการเพิ่มออบเจกต์ว่างเข้าไปด้วย > db.removeEmptyObjectsDemo.insertOne( { UserDetails : [ { UserName : John }, {}, { UserName : Sam } ] }

  13. เรียงลำดับและจัดกลุ่มในคิวรี่ Aggregate เดียวใน MongoDB

    ใช้ $group ร่วมกับ $sort ใน Aggregate Pipeline เพื่อจัดกลุ่มและเรียงลำดับในคิวรี่เดียว เริ่มต้นด้วยการสร้างคอลเลกชันตัวอย่าง: > db.sortAndGroupDemo.insertOne({ Price :40, Product: 10 }); { acknowledged : true, insertedId : ObjectId(5ce8f2bc78f00858fb12e907) } > db.sortAndGroupDemo.insertOne({

  14. คิวรี่ MongoDB หาเอกสารที่มีค่า 2 ค่าในอาร์เรย์ตรงเงื่อนไขหลายอย่าง

    ใช้ $elemMatch ร่วมกับ $and เพื่อค้นหาเอกสารที่อาร์เรย์มีค่าตรงตามหลายเงื่อนไขพร้อมกัน เริ่มต้นด้วยการสร้างคอลเลกชันตัวอย่าง: > db.findDocumentsHaving2Demo.insertOne({_id : 101, Values: [78,98]}); { acknowledged : true, insertedId : 101 } > db.findDocumentsHaving2Demo.insertOne({_id :102, Valu

  15. อัปเดตองค์ประกอบอาร์เรย์ที่ตรงเงื่อนไขด้วย $push ใน MongoDB

    ใช้ $push ร่วมกับ positional operator $ เพื่อเพิ่มฟิลด์ใหม่เข้าไปในออบเจกต์ของอาร์เรย์ที่ตรงตามเงื่อนไข เริ่มต้นด้วยการสร้างคอลเลกชันตัวอย่าง: > db.updateArrayElementDemo.insertOne( { UserDetails: [ { UserName:Chris, UserAge:23 } ] } ); { acknowledged : true, insertedId : Object

  16. คิวรี่ MongoDB เลือกแสดงเฉพาะฟิลด์ที่ต้องการ

    ใช้ Projection ใน find() เพื่อเลือกแสดงเฉพาะฟิลด์ที่ต้องการ โดยตั้งค่าเป็น true (หรือ 1) สำหรับฟิลด์ที่ต้องการ และ false (หรือ 0) สำหรับฟิลด์ที่ไม่ต้องการ เริ่มต้นด้วยการสร้างคอลเลกชันตัวอย่าง: > db.querySelectDemo.insertOne({UserId:100,UserName:Chris,UserAge:25}); { acknowledged : true, inserted

  17. การต่ออาร์เรย์ (Array Concatenation) ใน MongoDB

    ใช้ตัวดำเนินการ $concatArrays ใน Aggregate Framework เพื่อต่ออาร์เรย์หลายอาร์เรย์เข้าด้วยกัน เริ่มต้นด้วยการสร้างคอลเลกชันตัวอย่าง: > db.arrayConcatenationDemo.insertOne({TeacherName:[Chris,Robert],StudentName:[Mike,Sam]}); { acknowledged : true, insertedId : ObjectId(5ce921c078f00858fb12e911) }

  18. ค้นหาเอกสารที่ทุกองค์ประกอบในอาร์เรย์มีค่าเฉพาะใน MongoDB

    ใช้ $not ร่วมกับ $elemMatch และ $ne เพื่อค้นหาเอกสารที่ ทุก องค์ประกอบในอาร์เรย์มีค่าเท่ากับที่กำหนด เริ่มต้นด้วยการสร้างคอลเลกชันตัวอย่าง: > db.findDocumentsDemo.insertOne( { _id: 101, ProductDetails: [ { ProductValue:100 }, { ProductValue:120 } ] } ); { acknowledged : true, insertedId : 101 }

  19. ค้นหาค่าที่ตรงกันในอาร์เรย์โดยไม่ใช้ $elemMatch ใน MongoDB

    ใช้ตัวดำเนินการ $eq เพื่อจับคู่อาร์เรย์ทั้งหมด (exact array match) โดยไม่ต้องใช้ $elemMatch เริ่มต้นด้วยการสร้างคอลเลกชันตัวอย่าง: > db.equalDemo.insertOne({_id:1,StudentFriendNames:[John,Carol,Sam]}); { acknowledged : true, insertedId : 1 } > db.equalDemo.insertOne({_id:2,StudentFriendNames:n

  20. การใช้ $regex ใน MongoDB สำหรับค้นหาข้อความ

    ใช้ตัวดำเนินการ $regex เพื่อค้นหาข้อมูลด้วยนิพจน์ปกติ (Regular Expression) ไวยากรณ์: db.yourCollectionName.find({yourFieldName: { $regex: yourValue }}); สร้างคอลเลกชันตัวอย่าง (ทดสอบ case sensitivity): > db.regularExpressionDemo.insertOne({UserName:John}); { acknowledged : true, insertedId : Obje

Total 1351 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:42/68  20-คอมพิวเตอร์/Page Goto:1 36 37 38 39 40 41 42 43 44 45 46 47 48