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

    เพื่อเปิด MongoDB Shell ต้องใช้คำสั่ง mongo (ไม่ใช่ mongos - mongos ใช้สำหรับ Sharding Router) ไวยากรณ์: >mongo ขั้นตอน: เปิด Command Prompt / Terminal นำทางไปยังโฟลเดอร์ bin ของ MongoDB (เช่น C:\Program Files\MongoDB\Server\4.4\bin) พิมพ์คำสั่ง mongo แล้วกด Enter จะเห็นหน้าต่าง MongoDB Shell พ

  2. ค้นหาเอกสาร MongoDB ที่อาร์เรย์มีแอตทริบิวต์เฉพาะด้วย $and และ Dot Notation

    เพื่อค้นหาเอกสารที่อาร์เรย์มีแอตทริบิวต์เฉพาะ ให้ใช้ $and ร่วมกับ Dot Notiation (.) สร้างคอลเลกชันพร้อมเอกสารที่มีอาร์เรย์ StudentInformation (แต่ละรายการมี StudentName และ StudentAge): > db.demo2.insertOne({StudentInformation:[{StudentName:John,StudentAge:21},{StudentName:Mike,StudentAge:22}]});

  3. สคริปต์เพิ่มค่าเดี่ยวเข้าไปในอาร์เรย์ของคอลเลกชัน MongoDB

    เพื่อเพิ่มค่าเดี่ยวเข้าไปในอาร์เรย์ ให้ใช้ตัวดำเนินการ $push สร้างคอลเลกชันพร้อมเอกสารที่มีโครงสร้างซ้อน: Information.Of.StudentFavouriteSubject เป็นอาร์เรย์: > db.demo3.insertOne( ... { ... Information : { ... Of : { ... StudentCode : STUDENT101, ...

  4. ปรับลำดับลำดับ (Sequence) ใน MongoDB ด้วย findAndModify

    เพื่อปรับลำดับ (Sequence) ให้ใช้เมธอด findAndModify() ซึ่งทำการค้นหาและอัปเดตแบบ Atomic สร้างคอลเลกชัน demo261 พร้อมเอกสาร _id=100: > db.demo261.insertOne({_id:100,Name:Chris}); { acknowledged : true, insertedId : 100 } แสดงเอกสาร: > db.demo261.find(); ผลลัพธ์: { _id : 100, Name : Chris } สร้

  5. กลับผลลัพธ์คำสั่ง MongoDB (Inverse of $and) ด้วย $or และ $ne

    เพื่อกลับผลลัพธ์ (Inverse) ของการค้นหา $and ให้ใช้ $or ร่วมกับ $ne (Not Equal) สร้างคอลเลกชันพร้อมเอกสาร: > db.demo4.insert({uid:1,Name:Chris,Age:22}); WriteResult({ nInserted : 1 }) > db.demo4.insert({uid:2,Name:David,Age:21}); WriteResult({ nInserted : 1 }) > db.demo4.insert({uid:3,Na

  6. ข้ามเอกสารใน MongoDB ด้วย skip() ใน Aggregation Pipeline

    เพื่อข้ามเอกสารใน MongoDB Aggregation ให้ใช้ Stage $skip สร้างคอลเลกชันพร้อมเอกสาร _id แบบกำหนดเอง: > db.demo263.insertOne({_id:100}); { acknowledged : true, insertedId : 100 } > db.demo263.insertOne({_id:200}); { acknowledged : true, insertedId : 200 } > db.demo263.insertOne({_id:300})

  7. ใช้ Count Equivalent ใน MongoDB หาผู้ใช้ที่มีการเกิดขึ้นมากที่สุด

    เพื่อนับจำนวนและหาผู้ใช้ที่มีการเกิดขึ้นมากที่สุด ให้ใช้ $group ร่วมกับ aggregate() ใน MongoDB สร้างคอลเลกชันพร้อมเอกสาร (ชื่อซ้ำกัน): > db.demo264.insertOne({Name:Chris}); { acknowledged : true, insertedId : ObjectId(5e47ed441627c0c63e7dba9e) } > db.demo264.insertOne({Name:David}); { ackno

  8. อัปเดตเฉพาะฟิลด์ที่ต้องการใน MongoDB ด้วย $set

    เพื่ออัปเดตเฉพาะฟิลด์บางฟิลด์ ให้ใช้ตัวดำเนินการ $set ซึ่งจะเปลี่ยนเฉพาะฟิลด์ที่ระบุ ไม่กระทบฟิลด์อื่น สร้างคอลเลกชันพร้อมเอกสาร: > db.demo265.insertOne({id:101,Name:Chris}); { acknowledged : true, insertedId : ObjectId(5e480d781627c0c63e7dbaa4) } > db.demo265.insertOne({id:102,Name:Bob});

  9. เปลี่ยนฟิลด์ธรรมดาเป็นอ็อบเจกต์ (Object) ใน MongoDB ด้วย $rename

    สำหรับการเปลี่ยนฟิลด์ธรรมดาเป็นฟิลด์ซ้อน (Nested Object) ให้ใช้ตัวดำเนินการ $rename หลายขั้นตอน สร้างคอลเลกชันพร้อมเอกสาร: > db.changeSimpleFieldDemo.insertOne({StudentMarks:58,StudentSubject:MySQL}); { acknowledged : true, insertedId : ObjectId(5e0847a825ddae1f53b62205) } แสดงเอกสารทั้งหมด: >

  10. แยกสตริง (Split String) ระหว่าง MongoDB Aggregation ด้วย mapReduce

    สำหรับการแยกสตริงใน MongoDB ให้ใช้ mapReduce() เนื่องจาก Aggregation Pipeline เดิมไม่มีตัวดำเนินการ $split (เพิ่มเข้ามาในรุ่นใหม่) สร้างคอลเลกชันพร้อมเอกสาร: > db.splitString.insertOne({StudentName:John Smith}); { acknowledged : true, insertedId : ObjectId(5e0849d925ddae1f53b62206) } แสดงเอกสารท

  11. Bulk Insert เอกสารหลายรายการใน MongoDB

    สำหรับการแทรกข้อมูลจำนวนมาก (Bulk Insert) ให้ใช้ initializeUnorderedBulkOp() และ insert() แล้วตามด้วย execute() ตัวอย่าง Bulk Insert 3 เอกสาร: > var manyDocument = db.demo255.initializeUnorderedBulkOp(); > manyDocument.insert( { Name:Chris,Age:24} ); > manyDocument.insert( {Name:Bob,Age:2

  12. อัปเดตค่าตัวแปรด้วยตัวแปรเองใน MongoDB (ใช้ $set)

    ไม่สามารถอัปเดตค่าฟิลด์โดยใช้ตัวมันเองได้โดยตรง ต้องใช้ $set แทน สร้างคอลเลกชันพร้อมเอกสาร: > db.demo256.insertOne({Name:Chris}); { acknowledged : true, insertedId : ObjectId(5e47a3e91627c0c63e7dba8b) } > db.demo256.insertOne({Name:Bob}); { acknowledged : true, insertedId : ObjectId(5e47a3e

  13. สร้าง Compound Index พร้อมฟิลด์ค่าคงที่ใน MongoDB

    ใช้ createIndex() เพื่อสร้าง Compound Index (ดัชนีรวม) ที่มีฟิลด์ค่าคงที่ สร้าง Compound Index บน StudentName และ StudentAge แบบ Unique: > db.compoundIndexDemo.createIndex({StudentName:1,StudentAge:1},{unique:true}); { createdCollectionAutomatically : true, numIndexesBefore : 1, numIndexesAfter

  14. ตั้งค่า Unique Index ใน MongoDB

    เพื่อตั้งค่า Unique Index ใน MongoDB ให้ใช้ตัวเลือก unique:true ในเมธอด ensureIndex() (หรือ createIndex() ในรุ่นใหม่) สร้างดัชนี Unique บนฟิลด์ Name แล้วเพิ่มเอกสาร: > db.demo257.ensureIndex({Name:1},{unique:true}); { createdCollectionAutomatically : true, numIndexesBefore : 1, numIndexesAfter :

  15. คำนวณผลรวมของเอกสารเฉพาะด้วย MongoDB Aggregation

    เพื่อหาผลรวมของเอกสารเฉพาะ ให้ใช้ $sum ร่วมกับ $group และ $match ใน MongoDB Aggregation สร้างคอลเลกชันพร้อมเอกสารที่มีอาร์เรย์ UsersDetails (มี FirstUser และ TotalLikes): > db.calculateSumOfDocument.insertOne({ListOfUsers:[Carol,Bob],UsersDetails:[{FirstUser:Carol,TotalLikes:20},{FirstUser:Bob,To

  16. ลบค่า ObjectId ออกจากอาร์เรย์ใน MongoDB ด้วย $pull

    เพื่อลบค่า ObjectId ออกจากอาร์เรย์ ให้ใช้ตัวดำเนินการ $pull ร่วมกับ $in ใน MongoDB สร้างคอลเลกชันพร้อมเอกสารที่มีอาร์เรย์ arrayOfObjectsId เก็บ ObjectId: > db.demo258.insertOne({arrayOfObjectsId:[ ObjectId(5e47a5e81627c0c63e7dba92),ObjectId(5e47a5e51627c0c63e7dba91)]}); { acknowledged : true, in

  17. ระบุลำดับการคืนค่าเอกสารที่ตรงเงื่อนไขใน MongoDB ด้วย sort()

    เพื่อระบุลำดับการคืนค่าเอกสารที่ตรงเงื่อนไข ให้ใช้ cursor.sort() ใน MongoDB โดย cursor คือ db.collectionName.find() สร้างคอลเลกชันพร้อมเอกสาร: > db.demo259.insertOne({Subject:MySQL}); { acknowledged : true, insertedId : ObjectId(5e47ae1f1627c0c63e7dba98) } > db.demo259.insertOne({Subject:Jav

  18. MongoDB Query: ค้นหาเอกสารยกเว้นบางรายการ (Inverse Query) ด้วย $nor และ $and

    เพื่อดึงเอกสารทั้งหมดยกเว้นบางรายการเฉพาะ ให้ใช้ $nor ร่วมกับ $and สร้างคอลเลกชันพร้อมเอกสาร: > db.demo1.insertOne({StudentName:Chris,StudentMarks:38}); { acknowledged : true, insertedId : ObjectId(5e08a4f025ddae1f53b62216) } > db.demo1.insertOne({StudentName:David,StudentMarks:78}); { ackn

  19. อัปเดตเอกสารเพียงรายการเดียวใน MongoDB ด้วย updateOne()

    เพื่ออัปเดตเอกสารเพียงรายการเดียวในคอลเลกชัน ให้ใช้เมธอด updateOne() สร้างคอลเลกชันพร้อมเอกสาร (มี StudentId ซ้ำกัน 2 รายการ): > db.updateOneDemo.insertOne({StudentId:1,StudentFirstName:Chris}); { acknowledged : true, insertedId : ObjectId(5e06ed3725ddae1f53b621e8) } > db.updateOneDemo.inser

  20. หาเอกสาร MongoDB ที่อาร์เรย์มีค่าซ้ำมากที่สุดของค่าเฉพาะ

    ใช้ aggregate() พร้อม $project, $filter, $size, $group, $sort, $limit เพื่อหาเอกสารที่อาร์เรย์มีค่า 65 ซ้ำมากที่สุด สร้างคอลเลกชันพร้อมเอกสาร: > db.countOccurrencesDemo.insertOne({ListOfValues:[65,87,89,65,67,87,87,87]}); { acknowledged : true, insertedId : ObjectId(5e06ef9325ddae1f53b621eb) }

Total 1351 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:32/68  20-คอมพิวเตอร์/Page Goto:1 26 27 28 29 30 31 32 33 34 35 36 37 38