Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB
MongoDB
  1. ความแตกต่างระหว่าง count() และ find().count() ใน MongoDB

    ไม่มีความแตกต่างในผลลัพธ์ระหว่าง count() และ find().count() ทั้งคู่คืนค่าจำนวนเอกสารในคอลเลกชัน (หรือที่ตรงเงื่อนไข) ตัวอย่างการใช้งาน สร้างคอลเลกชัน countDemo: > db.countDemo.insertOne({UserId:1,UserName:John}); { acknowledged : true, insertedId : ObjectId(5c7f9d278d10a061296a3c5d) } > db.cou

  2. ตัวอักษรที่ห้ามใช้ในชื่อฟิลด์ MongoDB

    ใน MongoDB ห้ามใช้ตัวอักษรต่อไปนี้ในชื่อฟิลด์: สัญลักษณ์ $ (ดอลลาร์) - ใช้สำรองไว้สำหรับโอเปอเรเตอร์ จุด . (period) - ใช้สำหรับเข้าถึงฟิลด์ซ้อนกัน (dot notation) นอกจากนี้ ชื่อฟิลด์ **ไม่ควรขึ้นต้นด้วย $** ตัวอย่างชื่อฟิลด์ที่อนุญาต ช่องว่างและตัวอักษรอื่นๆ ส่วนใหญ่ใช้ได้: > db.charactersAllowe

  3. ใช้งาน Not Like ใน MongoDB ด้วย $not และ Regex

    MongoDB ไม่มีโอเปอเรเตอร์ NOT LIKE โดยตรง แต่สามารถทำได้ด้วย $not ร่วมกับ Regular Expression ตัวอย่างการใช้งาน สร้างคอลเลกชัน notLikeOperatorDemo: > db.notLikeOperatorDemo.insertOne({StudentName:John Doe}); { acknowledged : true, insertedId : ObjectId(5c8a29c393b406bd3df60dfc) } > db.notLikeOp

  4. หาเอกสารซ้ำใน MongoDB ด้วย Aggregate Framework

    ใช้ Aggregate Framework พร้อม $group, $sum, $match, $project เพื่อหาเอกสารที่มีค่าซ้ำในฟิลด์ที่กำหนด ตัวอย่างการใช้งาน สร้างคอลเลกชัน findDuplicateRecordsDemo: > db.findDuplicateRecordsDemo.insertOne({StudentFirstName:John}); { acknowledged : true, insertedId : ObjectId(5c8a330293b406bd3df60e01)

  5. นับจำนวนค่าที่ไม่ซ้ำกัน (Distinct Count) ต่อฟิลด์ใน MongoDB

    ใช้เมธอด distinct() เพื่อดึงค่าที่ไม่ซ้ำกันของฟิลด์ แล้วใช้ .length เพื่อนับจำนวน ตัวอย่างการใช้งาน สร้างคอลเลกชัน distinctCountValuesDemo: > db.distinctCountValuesDemo.insertOne({StudentFirstName:John,StudentFavouriteSubject:[C,C++,Java,MySQL,C,C++]}); { acknowledged : true, insertedId : ObjectI

  6. ลบฐานข้อมูล MongoDB จาก Command Line

    ใช้คำสั่ง mongo พร้อมตัวเลือก --eval เพื่อรันคำสั่ง db.dropDatabase() จากบรรทัดคำสั่ง (Command Line) โดยไม่ต้องเข้าสู่ Mongo Shell ไวยากรณ์ mongo yourDatabaseName --eval db.dropDatabase() ตัวอย่างการใช้งาน ตรวจสอบฐานข้อมูลที่มีอยู่: > show dbs; StudentTracker 0.000GB admin 0.000GB config 0.000GB

  7. แสดงรายการคอลเลกชันทั้งหมดใน Mongo Shell

    มี 2 วิธีหลักในการแสดงรายการคอลเลกชันทั้งหมดใน Mongo Shell: วิธีที่ 1: ใช้ฟังก์ชัน getCollectionNames() db.getCollectionNames(); วิธีที่ 2: ใช้คำสั่ง show collections show collections; ตัวอย่างผลลัพธ์ รันคำสั่ง: > db.getCollectionNames(); [ ConvertStringToDateDemo, IdUpdateDemo, ProductsInformati

  8. เพิ่มเอกสารใน MongoDB กรณียังไม่มีอยู่ (Upsert)

    ใช้คำสั่ง update() พร้อมตัวเลือก upsert: true เพื่อเพิ่มเอกสารใหม่ถ้ายังไม่มี หรืออัปเดตถ้ามีอยู่แล้ว ตัวอย่างการใช้งาน สร้างคอลเลกชัน insertIfNotExistsDemo: > db.insertIfNotExistsDemo.insertOne({StudentName:Mike,StudentAge:21}); { acknowledged : true, insertedId : ObjectId(5c7eec7b559dd2396bcfbf

  9. ค้นหาเอกสาร MongoDB ที่อาร์เรย์มีสมาชิกอย่างน้อยหนึ่งตัวจากรายการ ($in)

    ใช้โอเปอเรเตอร์ $in เพื่อค้นหาเอกสารที่อาร์เรย์มีสมาชิก **อย่างน้อยหนึ่งตัว** ตรงกับรายการที่กำหนด ตัวอย่างการใช้งาน ใช้คอลเลกชัน findByMultipleArrayDemo เดียวกับบทความก่อนหน้า (ข้อมูลเหมือนกัน) ค้นหานักศึกษาที่เรียนวิชา **Compiler หรือ Computer Networks**: > db.findByMultipleArrayDemo.find({ Stu

  10. ค้นหาเอกสาร MongoDB ที่อาร์เรย์มีสมาชิกครบทุกตัวที่กำหนด ($all)

    ใช้โอเปอเรเตอร์ $all เพื่อค้นหาเอกสารที่อาร์เรย์มีสมาชิกครบทุกตัวที่ระบุในรายการ (ไม่สนใจลำดับ) ตัวอย่างการใช้งาน สร้างคอลเลกชัน findByMultipleArrayDemo: > db.findByMultipleArrayDemo.insertOne({StudentFirstName:John,StudentLastName:Smith,StudentCoreSubject:[Compiler,Operating System,Computer Netw

  11. โอเปอเรเตอร์ $unwind ใน MongoDB คืออะไร

    โอเปอเรเตอร์ $unwind ใน Aggregate Framework ใช้ ลายอาร์เรย์ (deconstruct array) โดยสร้างเอกสารใหม่สำหรับแต่ละสมาชิกในอาร์เรย์ ฟิลด์อื่นๆ จะถูกคัดลอกไปในแต่ละเอกสารใหม่ ตัวอย่างการใช้งาน สร้างคอลเลกชัน unwindOperatorDemo: > db.unwindOperatorDemo.insertOne({StudentName:Larry,StudentAge:23,StudentSu

  12. แปลงสตริงเป็นค่าตัวเลขใน MongoDB

    ใช้ parseInt() (หรือ parseFloat()) ร่วมกับ forEach() และ update() เพื่อแปลงค่าสตริงเป็นตัวเลขในฟิลด์ที่ต้องการ ตัวอย่างการใช้งาน สร้างคอลเลกชัน convertStringToNumberDemo (EmployeeId เป็นสตริง): > db.convertStringToNumberDemo.insertOne({EmployeeId:101,EmployeeName:Larry}); { acknowledged : true, i

  13. ค้นหาเอกสารซ้ำใน MongoDB ตามฟิลด์สำคัญ (Key Field) ด้วย Aggregate

    ใช้ Aggregate Framework ร่วมกับ $group, $addToSet, $sum, $match เพื่อหาเอกสารซ้ำตามฟิลด์ที่กำหนด ตัวอย่างการใช้งาน สร้างคอลเลกชัน findDuplicateByKeyDemo: > db.findDuplicateByKeyDemo.insertOne({StudentId:1,StudentName:John}); { acknowledged : true, insertedId : ObjectId(5c7f5b168d10a061296a3c3a) }

  14. Auto Increment ใน MongoDB สำหรับสร้าง Unique User ID แบบลำดับ

    MongoDB ไม่มี Auto Increment ตัวเลขในตัว ต้องสร้างคอลเลกชันเก็บค่าลำดับ (sequence) และฟังก์ชันเพื่อเพิ่มค่าและคืนค่าลำดับถัดไป ขั้นตอนการทำงาน สร้างคอลเลกชันเก็บค่าลำดับ (เช่น createSequenceDemo) พร้อมฟิลด์ _id และ S_Value สร้างฟังก์ชัน nextSequence() ใช้ findAndModify() เพื่อเพิ่มค่าและคืนค่าล่าสุ

  15. รวมฟิลด์เดิมและเพิ่มฟิลด์ใหม่ในเอกสาร MongoDB ด้วย $addFields

    ใช้ Stage $addFields ใน Aggregate Framework เพื่อเพิ่มฟิลด์ใหม่พร้อมรักษาฟิลด์เดิมไว้ทั้งหมด ตัวอย่างการใช้งาน สร้างคอลเลกชัน addFieldDemo: > db.addFieldDemo.insertOne({EmployeeId:101,EmployeeName:Larry,EmployeeDetails:{EmployeeSalary:65000,EmployeeCity:New York,Message:Hi}}); { acknowledged : tr

  16. ลบสมาชิกจากอาร์เรย์ซ้อนกัน 2 ระดับ (Doubly-nested Array) ใน MongoDB

    ใช้โอเปอเรเตอร์ $pull ร่วมกับตำแหน่งอาร์เรย์ (array index) เพื่อลบสมาชิกจากอาร์เรย์ซ้อนกัน 2 ระดับ ตัวอย่างการใช้งาน สร้างคอลเลกชัน removeElementFromDoublyNestedArrayDemo: > db.removeElementFromDoublyNestedArrayDemo.insertOne( ... { ... _id : 1, ... UserName : Larry, ... UserDetails : [ ... { ...

  17. ทำคำสั่งค้นหาแบบไม่สนใจตัวพิมพ์เล็กใหญ่ (Case-insensitive) ใน MongoDB

    ใช้ Regular Expression (Regex) พร้อมตัวเลือก i เพื่อค้นหาแบบไม่สนใจตัวพิมพ์เล็กใหญ่ ตัวอย่างการใช้งาน สร้างคอลเลกชัน caseInsensitiveDemo พร้อมชื่อที่แตกต่างในรูปแบบพิมพ์: > db.caseInsensitiveDemo.insertOne({UserName:David}); { acknowledged : true, insertedId : ObjectId(5c7f6fec8d10a061296a3c45) }

  18. คัดลอกคอลเลกชันจากฐานข้อมูลหนึ่งไปอีกฐานหนึ่งใน MongoDB

    MongoDB ไม่มีคำสั่งคัดลอกคอลเลกชันข้ามฐานข้อมูลโดยตรง ต้องใช้ forEach() ร่วมกับ getSiblingDB() และ insert() ไวยากรณ์ db.yourCollectionName.find().forEach(function(yourVariableName){ db.getSiblingDB(yourDestinationDatabase)[yourCollectionName].insert(yourVariableName); }); ตัวอย่างการใช้งาน สร้างคอ

  19. ค้นหาในอาร์เรย์ของออบเจ็กต์ใน MongoDB ด้วย $elemMatch

    ใช้โอเปอเรเตอร์ $elemMatch เพื่อค้นหาเอกสารที่อาร์เรย์ของออบเจ็กต์มีสมาชิกตรงตามเงื่อนไขหลายฟิลด์พร้อมกัน ตัวอย่างการใช้งาน สร้างคอลเลกชัน searchArrayDemo พร้อมข้อมูลพนักงานและประวัติการทำงาน: > db.searchArrayDemo.insertOne({EmployeeFirstName:Adam,EmployeeLastName:Smith,EmployeeDateOfBirth:new IS

  20. ค้นหาสตริงที่มีความยาวมากกว่าค่าที่กำหนดใน MongoDB

    ใช้โอเปอเรเตอร์ $where ร่วมกับ JavaScript .length เพื่อกรองเอกสารที่ความยาวสตริงเกินค่าที่กำหนด ไวยากรณ์ yourIntegerValue}).pretty(); ตัวอย่างการใช้งาน สร้างคอลเลกชัน stringFieldLengthDemo: > db.stringFieldLengthDemo.insertOne({UserId:1,UserName:Adam Smith}); { acknowledged : true, insertedId :

Total 1351 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:65/68  20-คอมพิวเตอร์/Page Goto:1 59 60 61 62 63 64 65 66 67 68