Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB
MongoDB
  1. การใช้งาน $push ใน MongoDB

    เพิ่มค่าเข้าไปในอาร์เรย์ด้วย $push $push ใช้เพิ่มอิลิเมนต์เข้าไปในอาร์เรย์ที่มีอยู่แล้วในเอกสาร สร้างข้อมูลตัวอย่าง > db.demo738.insertOne({Subjects:[C,C++]}); > db.demo738.insertOne({Subjects:[MySQL,PL/SQL]}); แสดงข้อมูลก่อน push > db.demo738.find(); ผลลัพธ์: { _id : ObjectId(5ead696557bb7

  2. วิธีใช้ for loop เพื่อ push ค่าเข้าไปใน MongoDB

    ใช้ save() ภายในลูป for ใน MongoDB Shell สามารถวนลูปใน MongoDB shell เพื่อแทรกข้อมูลซ้ำหลายครั้งด้วยคำสั่ง save() ตัวอย่างลูปแทรกข้อมูล 6 ครั้ง > for(var v=1; v<7; v++) { db.demo739.save({Name:Chris,SubjectName:MongoDB}); } WriteResult({ nInserted : 1 }) แสดงข้อมูลทั้งหมด > db.demo739.f

  3. วิธีแสดงเฉพาะ Keys จากเอกสารฝังซ้อนใน MongoDB

    ใช้ $reduce, $map, $objectToArray ใน Aggregate รวมคีย์จากทุกเอกสารในอาร์เรย์โดยแปลงแต่ละอ็อบเจกต์เป็นอาร์เรย์ key-value ด้วย $objectToArray แล้วดึงเฉพาะ key (k) สร้างข้อมูลตัวอย่าง > db.demo740.insertOne({ details: [ { Name:Chris, Age:21, CountryName:US }, { Name:Bob, Age:20,

  4. การอัปเดตคอลเลกชัน MongoDB สำหรับฟิลด์ _id

    ใช้ $set ในคำสั่ง update() ระบุ _id สามารถอัปเดตฟิลด์ของเอกสารที่มี _id เฉพาะได้โดยใช้ update() พร้อม $set สร้างข้อมูลตัวอย่าง db.demo741.insertOne({SubjectName:MySQL}); db.demo741.insertOne({SubjectName:C}); db.demo741.insertOne({SubjectName:Java}); แสดงข้อมูลก่อนอัปเดต > db.demo741.find(); ผลลั

  5. การเข้าถึงอิลิเมนต์เฉพาะในอาร์เรย์ของ MongoDB ด้วย forEach

    ใช้ forEach() วนลูปเพื่อดึงค่าที่ต้องการ เมื่อต้องการเข้าถึงอิลิเมนต์เฉพาะในอาร์เรย์ สามารถใช้ forEach() บน cursor และอาร์เรย์ภายใน สร้างข้อมูลตัวอย่าง > db.demo742.insertOne({ userDetails: [ { userName:Robert, CountryName:UK }, { userName:David, CountryName:AUS } ] }); แส

  6. วิธีดึงเอกสารทั้งหมดตามการเปรียบเทียบกับคอลเลกชันทั้งหมดใน MongoDB

    ใช้ $$ROOT ใน Aggregate Pipeline $$ROOT อ้างถึงเอกสารทั้งหมดในขั้นตอนปัจจุบัน สามารถนำไปใช้ใน $project แล้วค่อย $sort และ $group เพื่อหาเอกสารล่าสุดของแต่ละกลุ่ม สร้างข้อมูลตัวอย่าง > db.demo743.insertOne({id:1,ShippingDate:2020-01-21,value:50}); > db.demo743.insertOne({id:2,ShippingDate:2020-

  7. วิธีค้นหาอิลิเมนต์เฉพาะในเอกสารฝังของ MongoDB

    ใช้ $unwind, $match, $project ใน Aggregate แยกอาร์เรย์ด้วย $unwind กรองด้วย $match แล้วเลือกฟิลด์ด้วย $project สร้างข้อมูลตัวอย่าง > db.demo744.insertOne({ studentInformation: [ { studentName:Robert, grade:A }, { studentName:Bob, grade:C }, { studentName:John, grade:B

  8. การต่อสตริงมีเงื่อนไขใน MongoDB

    ใช้ $cond และ $concat ใน $redact สามารถต่อสตริงและตรวจสอบเงื่อนไขพร้อมกันได้ด้วย $cond ภายใน $redact โดยใช้ $concat รวมค่า สร้างข้อมูลตัวอย่าง > db.demo745.insertOne({Value1:100,Value2:100}); > db.demo745.insertOne({Value1:40,Value2:50}); > db.demo745.insertOne({Value1:13,Value2:45}); แสดงข

  9. ค้นหาโพสต์ที่เก่ากว่าวันที่ปัจจุบันใน MongoDB

    ใช้ $lte (Less Than or Equal) กับวันที่ปัจจุบัน เปรียบเทียบฟิลด์วันที่กับ new Date() โดยใช้ $lte เพื่อหาเอกสารที่มีวันที่น้อยกว่าหรือเท่ากับวันนี้ สร้างข้อมูลตัวอย่าง > db.demo746.insertOne({DueDate:new Date(2020-01-10)}); > db.demo746.insertOne({DueDate:new Date(2020-10-10)}); > db.demo746

  10. คิวรี MongoDB ค้นหาสตริงที่มี "@email" ในค่าของฟิลด์

    ใช้ Regular Expression แบบ Case-insensitive ใช้ /@email/i ใน find() เพื่อค้นหาสตริงที่มี @email โดยไม่สนใจตัวพิมพ์เล็กพิมพ์ใหญ่ สร้างข้อมูลตัวอย่าง > db.demo727.insertOne({UserId:John@email.com}); > db.demo727.insertOne({UserId:John@yahoo.com}); > db.demo727.insertOne({UserId:Chris@EMAIL.co

  11. ค้นหาเอกสาร MongoDB ที่มีราคาน้อยกว่าค่าที่กำหนด

    ใช้ $lt (Less Than) ใน find() อ็อปเรเตอร์ $lt ใช้เปรียบเทียบค่าน้อยกว่า ในคำสั่ง find() สร้างข้อมูลตัวอย่าง > db.demo728.insertOne({Price:75}); > db.demo728.insertOne({Price:59}); > db.demo728.insertOne({Price:79}); > db.demo728.insertOne({Price:89}); แสดงข้อมูลทั้งหมด > db.demo728.fi

  12. การแทรกข้อมูลจำนวนมากใน MongoDB ด้วย insertMany()

    ใช้ insertMany() สำหรับการแทรกหลายเอกสารพร้อมกัน insertMany() ช่วยให้แทรกหลายเอกสารในคำสั่งเดียว ประหยัดเวลาและทรัพยากร ตัวอย่างการแทรกข้อมูล 3 เอกสารพร้อมกัน > db.demo729.insertMany( [ { BankName:HDFC Bank,cardType:Credit,CustomerName:[{Name:Chris,Age:25}]}, { BankName:ICICI Bank,cardTyp

  13. การจับคู่เอกสาร MongoDB ที่มีค่าฟิลด์มากกว่าตัวเลขเฉพาะและดึงข้อมูลมาแสดง

    ใช้ $match กับ $gt สำหรับเงื่อนไขมากกว่า ใน pipeline aggregate ใช้ $match พร้อม $gt (greater than) เพื่อกรองเอกสารที่มีค่าฟิลด์มากกว่าที่กำหนด สร้างข้อมูลตัวอย่าง > db.demo730.insertOne({Name : Chris, Marks : 33 }); > db.demo730.insertOne({ Name : David, Marks : 89}); > db.demo730.insertOne

  14. วิธีแสดงฟิลด์เฉพาะในอาร์เรย์ด้วย $project ใน MongoDB และละเว้นฟิลด์อื่น

    ใช้ $project ร่วมกับ $unwind และตั้งค่าฟิลด์ที่ไม่ต้องการเป็น 0 $unwind แยกอาร์เรย์ แล้ว $match กรอง แล้ว $project เลือกฟิลด์ที่ต้องการ (1) และไม่ต้องการ (0) สร้างข้อมูลตัวอย่าง > db.demo731.insertOne({ ProductInformation: [ { ProductId:Product-1, ProductPrice:80 }, { ProductI

  15. วิธีเพิ่มฟิลด์ที่มีชนิดข้อมูลเฉพาะ (ลิสต์, อ็อบเจกต์) ในเอกสาร MongoDB ที่มีอยู่แล้ว

    ใช้ $set ในคำสั่ง update สามารถเพิ่มฟิลด์ใหม่ที่มีโครงสร้างซับซ้อน เช่น อ็อบเจกต์หรืออาร์เรย์ ได้โดยใช้ $set ในคำสั่ง update() สร้างข้อมูลตัวอย่าง > db.demo732.insertOne({_id:1,Language:English}); > db.demo732.insertOne({_id:2,Language:Hindi}); แสดงข้อมูลก่อนเพิ่มฟิลด์ > db.demo732.find();

  16. วิธีย้ายอาร์เรย์เอกสารฝังขึ้นเป็นฟิลด์หลักและเปลี่ยน Key/Value ด้วย Aggregation Pipeline

    ใช้ $replaceRoot และ $arrayToObject $replaceRoot แทนที่เอกสารต้นทางด้วยเอกสารใหม่ รวมกับ $mergeObjects และ $arrayToObject เพื่อแปลงอาร์เรย์เป็นอ็อบเจกต์ key-value สร้างข้อมูลตัวอย่าง > db.demo733.insertOne({ SubjectDetails: [ { SubjectName:MongoDB, Marks:85 }, { SubjectName:My

  17. การหาความแตกต่างระหว่างวันที่ปัจจุบันกับวันที่กำหนดใน MongoDB

    ใช้ Aggregate Pipeline คำนวณความต่างวันที่ ใช้ $subtract ระหว่าง new ISODate() (วันนี้) กับฟิลด์วันที่ แล้วแปลงเป็นวันด้วย $divide สร้างข้อมูลตัวอย่าง > db.demo734.insertOne({GivenDate:new ISODate(2020-01-10)}); > db.demo734.insertOne({GivenDate:new ISODate(2020-02-20)}); > db.demo734.inser

  18. การใช้งาน MongoDB updateOne() และ insertOne()

    ความแตกต่างระหว่าง insertOne และ updateOne insertOne() - เพิ่มเอกสารใหม่เข้าไปในคอลเลกชัน updateOne() - อัปเดตเอกสารเดียวที่ตรงกับเงื่อนไขในคอลเลกชัน สร้างข้อมูลตัวอย่าง > db.demo735.insertOne({id:1,Name:Chris}); > db.demo735.insertOne({id:1,Name:David}); > db.demo735.insertOne({id:1,Name

  19. การกรองคิวรีบนอาร์เรย์ของเอกสารฝังใน MongoDB

    ใช้ aggregate() กรองเอกสารฝัง 3 ระดับ เมื่อมีโครงสร้างข้อมูลซ้อนหลายชั้น ใช้ $unwind แยกชั้นทีละขั้นตอน แล้วค่อย $match และ $project สร้างข้อมูลตัวอย่าง 3 ระดับ > db.demo736.insertOne({ _id: 101, details1: [ { details2: [ { details3: { Name: John } } ] } ] }); > db.demo736.insertOne({

  20. วิธีค้นหาเอกสาร MongoDB ที่ไม่มีฟิลด์เฉพาะ

    ใช้ $exists: false ใน Aggregate ตรวจสอบว่าฟิลด์มีอยู่หรือไม่ด้วย $exists หากไม่มี ให้แสดงเอกสารนั้นด้วย find() หรือใน pipeline สร้างข้อมูลตัวอย่าง > db.demo612.insertOne({id:1,Info:[{Name:Chris,Age:21},{Name:David}]}); แสดงข้อมูลทั้งหมด > db.demo612.find().pretty(); ผลลัพธ์: { _id : ObjectId(5

Total 1351 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:2/68  20-คอมพิวเตอร์/Page Goto:1 2 3 4 5 6 7 8