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

    ใช้ updateMany() สำหรับอัปเดตหลายเอกสาร เมธอด updateMany(filter, update) อัปเดตทุกเอกสารที่ตรงเงื่อนไข (filter ว่าง {} = ทุกเอกสาร) ตัวอย่าง สร้างคอลเลกชัน updateManyDocumentsDemo: > db.updateManyDocumentsDemo.insertOne({StudentName:John,StudentLastName:Smith}); > db.updateManyDocumentsDemo.in

  2. ใช้ $or Query ใน MongoDB

    คิวรี่เงื่อนไข OR ด้วย $or โอเปอเรเตอร์ $or รับอาร์เรย์ของเงื่อนไข คืนเอกสารที่ตรง อย่างน้อยหนึ่งเงื่อนไข ไวยากรณ์ db.yourCollectionName.find({ $or: [ {yourFieldName: value1}, {yourFieldName: value2}, ... ] }).pretty(); ตัวอย่าง สร้างคอลเลกชัน orDemo: > db.orDemo.i

  3. ทำ Pagination ใน MongoDB ด้วย skip และ limit

    ใช้ skip() และ limit() สำหรับ Pagination รูปแบบมาตรฐาน: find().skip((page-1)*pageSize).limit(pageSize) ตัวอย่าง สร้างคอลเลกชัน paginationDemo 5 รายการ: > db.paginationDemo.insertOne({CustomerName:Chris,CustomerAge:23}); > db.paginationDemo.insertOne({CustomerName:Robert,CustomerAge:26}); >

  4. ตรวจสอบการตั้งค่าปัจจุบันของ MongoDB

    ใช้ getCmdLineOpts และ getParameter มี 2 คำสั่งหลักสำหรับดูการตั้งค่า 1. ดูพารามิเตอร์เริ่มต้น (Command Line Options) > db._adminCommand({getCmdLineOpts: 1}); ผลลัพธ์: { argv : [mongod], parsed : {}, ok : 1 } ส่วน parsed จะแสดงค่าที่ตั้งค่าไว้ในไฟล์ config หรือ command line 2. ดูการตั้งค่ารันไทม์

  5. หาเอกสารล่าสุดจาก MongoDB find() Result Set

    ใช้ sort({_id: -1}) limit(1) ObjectId มี timestamp ตรง 4 ไบต์แรก เรียง _id ดังกล่าวเทียบเท่ากับเรียงตามเวลาสร้าง ไวยากรณ์ db.yourCollectionName.find().sort({_id: -1}).limit(1).pretty(); ตัวอย่าง สร้างคอลเลกชัน identifyLastDocuementDemo เพิ่มข้อมูล 6 รายการ: > db.identifyLastDocuementDemo.insertOn

  6. ลบอิลิเมนต์ที่ n ในอาร์เรย์ MongoDB

    ใช้ $unset แล้วตามด้วย $pull MongoDB ไม่มีออปอเรเตอร์ลบโดย index ตรงๆ ต้องทำ 2 ขั้นตอน: $unset ตั้งค่า index นั้นเป็น null แล้ว $pull ลบ null ออก ตัวอย่าง สร้างคอลเลกชัน getNThElementDemo: > db.getNThElementDemo.insertOne({UserName:John,UserAge:23,ListOfFriends:[Carol,Sam,Mike,Bob]}); > db.get

  7. คิวรี่ฟิลด์แบบ List/Array ใน MongoDB

    ค้นหาค่าในอาร์เรย์และใช้ $or MongoDB ค้นหาในอาร์เรย์ได้โดยตรง รองรับทั้ง exact match และ $or ตัวอย่างข้อมูล สร้างคอลเลกชัน andOrDemo ฟิลด์ StudentScore เป็นอาร์เรย์ตัวเลข: > db.andOrDemo.insertOne({StudentName:Larry,StudentScore:[33,40,50,60,70]}); > db.andOrDemo.insertOne({StudentName:Larry,S

  8. ลบ _id ออกจากผลลัพธ์ PyMongo/MongoDB

    ใช้ Projection _id: false ใน find() ระบุพารามิเตอร์ที่ 2 ว่า {_id: false} เพื่อไม่รวม _id ในผลลัพธ์ ไวยากรณ์ db.yourCollectionName.find({}, {_id: false}).pretty(); ตัวอย่าง สร้างคอลเลกชัน removingidElementDemo: > db.removingidElementDemo.insertOne({UserName:John,UserAge:21}); > db.removingidEl

  9. ลบคอลเลกชันที่มีอักขระพิเศษใน MongoDB

    ใช้ db.getCollection().drop() ชื่อคอลเลกชันที่มีอักขระพิเศษ (เช่น _, -, เว้นวรรค) ไม่สามารถเรียกด้วย dot notation ได้ ต้องใช้ db.getCollection() ไวยากรณ์ db.getCollection(yourCollectionName).drop(); ตัวอย่าง สร้างคอลเลกชันชื่อ _personalInformation (ขึ้นต้นด้วย underscore): > db.createCollection(_

  10. ดึงค่าของฟิลด์เฉพาะใน MongoDB (Projection)

    ใช้ Projection ใน find() ระบุฟิลด์ที่ต้องการในพารามิเตอร์ที่ 2 ของ find() โดยตั้งค่า 1 (รวม) หรือ 0 (ยกเว้น) ไวยากรณ์ db.yourCollectionName.find({}, {yourFieldName: 1}).pretty(); ตัวอย่าง สร้างคอลเลกชัน retrieveValueFromAKeyDemo: > db.retrieveValueFromAKeyDemo.insertOne({CustomerName:Larry,Custom

  11. พิมพ์ออบเจกต์ในคอนโซล MongoDB Script

    ใช้ printjson() หรือ JSON.stringify() ใน MongoDB Shell สามารถพิมพ์ออบเจกต์ออกคอนโซลได้ 2 วิธี วิธีที่ 1: printjson() printjson({yourFieldName: yourValue, ...}); วิธีที่ 2: print() + JSON.stringify() print(JSON.stringify({yourFieldName: yourValue, ...})); ตัวอย่าง > printjson({UserId:101,UserName:

  12. คิวรี่ฟิลด์ในออบเจกต์ภายในอาร์เรย์ด้วย $elemMatch

    ใช้ $elemMatch สำหรับเงื่อนไขในอาร์เรย์ของออบเจกต์ เมื่อต้องการค้นหาเอกสารที่อาร์เรย์มีออบเจกต์ตรงเงื่อนไขหลายฟิลด์พร้อมกัน ใช้ $elemMatch ไวยากรณ์ db.yourCollectionName.find({ yourOuterFieldName: { $elemMatch: { yourInnerFieldName: yourValue } } }).pretty();

  13. ซ่อน _id ใน MongoDB Aggregation

    ใช้ $project กำหนด _id: 0 ใน stage $project กำหนด _id: 0 เพื่อไม่รวม _id ในผลลัพธ์ และระบุฟิลด์ที่ต้องการด้วย 1 ไวยากรณ์ db.yourCollectionName.aggregate([ {$project: { _id: 0, yourIncludeFieldName: 1, anotherField: 1 }} ]).pretty(); ตัวอย่าง สร้างคอลเลกชัน hideidDemo:

  14. แปลง ObjectId เป็น String ใน MongoDB

    การแปลง ObjectId ให้เป็น String วิธีมาตรฐานคือใช้ $toString ใน aggregation pipeline (MongoDB 4.0+) ตัวอย่างข้อมูล สร้างคอลเลกชัน objectidToStringDemo เหมือนบทความก่อนหน้า Aggregation Query > db.objectidToStringDemo.aggregate([ {$project: { _id: {$toString: $_id} }} ]); ผลลัพธ์: {

  15. แปลงค่าเป็น String ด้วย $toString ใน MongoDB Aggregation

    ใช้ $toString ใน $project โอเปอเรเตอร์ $toString (เพิ่มใน MongoDB 4.0+) แปลงค่าประเภทต่างๆ ให้เป็น String ภายใน aggregation pipeline ตัวอย่าง: แปลง ObjectId เป็น String สร้างคอลเลกชัน objectidToStringDemo: > db.objectidToStringDemo.insertOne({UserName:John}); > db.objectidToStringDemo.insertOn

  16. ตรวจสอบว่าฟิลด์มีอยู่หรือไม่ใน MongoDB ด้วย $exists

    ใช้โอเปอเรเตอร์ $exists โอเปอเรเตอร์ $exists ตรวจสอบว่าฟิลด์ระบุมีอยู่ในเอกสารหรือไม่ ค่า true = มีอยู่, false = ไม่มี ตัวอย่างข้อมูล สร้างคอลเลกชัน checkFieldExistsOrNotDemo ที่มีฟิลด์ต่างกันในแต่ละเอกสาร: > db.checkFieldExistsOrNotDemo.insertOne({StudentName:Larry}); > db.checkFieldExistsOrN

  17. คิวรี่ข้อมูลด้วย Sub-field ใน MongoDB

    ใช้ Dot Notation เข้าถึงฟิลด์ย่อย เมื่อข้อมูลเป็น nested object สามารถคิวรี่ได้โดยใช้ dot notation parentField.childField ตัวอย่าง สร้างคอลเลกชัน queryBySubFieldDemo ที่มี nested object: > db.queryBySubFieldDemo.insertOne({ StudentPersonalDetails: {StudentName: John, StudentHobby: Photography

  18. จัดเรียงข้อมูลใน MongoDB Aggregation ด้วย $sort

    ใช้ $sort ใน Aggregation Pipeline ใน Aggregation Framework ใช้ stage $sort เพื่อจัดเรียงผลลัพธ์ ร่วมกับ $group หรือ stage อื่นๆ ตัวอย่างข้อมูล สร้างคอลเลกชัน aggregationSortDemo มีข้อมูลนักเรียนซ้ำ StudentId: > db.aggregationSortDemo.insertOne({StudentId:98,StudentFirstName:John,StudentLastName:S

  19. ดึงค่า distinct ของฟิลด์ใน Sub-document MongoDB

    ใช้ dot notation กับ distinct() เมธอด distinct() รองรับ dot notation เพื่อเข้าถึงฟิลด์ภายใน sub-document หรืออาร์เรย์ของ sub-document ไวยากรณ์ db.yourCollectionName.distinct(yourOuterFieldName.yourInnerFieldName); ตัวอย่าง สร้างคอลเลกชัน getDistinctListOfSubDocumentFieldDemo ที่มีฟิลด์ StudentPerson

  20. ตรวจสอบ Storage Engine ที่ใช้ใน MongoDB

    ใช้ db.serverStatus().storageEngine คำสั่ง db.serverStatus().storageEngine แสดงชื่อและคุณสมบัติของ Storage Engine ที่กำลังทำงาน ตัวอย่าง > db.serverStatus().storageEngine; ผลลัพธ์: { name : wiredTiger, supportsCommittedReads : true, supportsSnapshotReadConcern : true, readOnly : f

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