Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB
MongoDB
  1. การใช้งาน MongoDB Aggregate: $unwind, $group และ $project

    $unwind ใน MongoDB ใช้สำหรับแยกฟิลด์อาร์เรย์จากเอกสารนำเข้า เพื่อสร้างเอกสารสำหรับแต่ละองค์ประกอบ $group ใช้จัดกลุ่มเอกสารนำเข้าตามนิพจน์ _id ที่ระบุ และสร้างเอกสารสำหรับแต่ละกลุ่มที่แตกต่างกัน $project ใช้ส่งเอกสารพร้อมฟิลด์ที่ร้องขอไปยังขั้นตอนถัดไปใน Pipeline สร้างคอลเลกชันพร้อมเอกสาร: > db.de

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

    สำหรับกรณีที่ต้องการค้นหาเอกสารที่อาร์เรย์มีองค์ประกอบที่ไม่มีฟิลด์เฉพาะ ให้ใช้ $elemMatch ตัวดำเนินการนี้จะจับคู่เอกสารที่มีฟิลด์อาร์เรย์ซึ่งมีอย่างน้อยหนึ่งองค์ประกอบตรงตามเกณฑ์การค้นหาทั้งหมดที่ระบุ สร้างคอลเลกชันพร้อมเอกสาร: > db.demo239.insertOne( ... { ... Name : Chris, ...

  3. MongoDB Aggregate ใช้ $limit จำกัดจำนวนระเบียน

    เพื่อจำกัดจำนวนระเบียน ให้ใช้ $limit ใน MongoDB Aggregation Pipeline สร้างคอลเลกชันพร้อมเอกสาร: > db.demo240.insertOne({StudentName:Chris}); { acknowledged : true, insertedId : ObjectId(5e441d969af932883c61ea3c) } > db.demo240.insertOne({StudentName:Bob}); { acknowledged : true, insertedId

  4. จำกัดจำนวนเอกสารที่คืนค่าใน MongoDB ด้วย $limit

    เพื่อจำกัดจำนวนระเบียนที่คืนค่า ให้ใช้ $limit ใน MongoDB Aggregation Pipeline สร้างคอลเลกชันพร้อมเอกสาร: > db.demo240.insertOne({StudentName:Chris}); { acknowledged : true, insertedId : ObjectId(5e441d969af932883c61ea3c) } > db.demo240.insertOne({StudentName:Bob}); { acknowledged : true, in

  5. ค้นหาเอกสารที่มีคะแนนสูงสุดใน MongoDB

    เพื่อหาเอกสารที่มีคะแนนสูงสุด ให้ใช้ sort() แบบ descending (ค่าลบ) ร่วมกับ limit(1) สร้างคอลเลกชันพร้อมเอกสาร: > db.demo241.insertOne({Marks:67}); { acknowledged : true, insertedId : ObjectId(5e441f729af932883c61ea40) } > db.demo241.insertOne({Marks:89}); { acknowledged : true, insertedId :

  6. วิธีง่ายที่สุดในการเรียงลำดับอาร์เรย์ใน MongoDB

    วิธีง่ายที่สุดในการเรียงลำดับอาร์เรย์ใน MongoDB คือใช้ $sort ร่วมกับ $unwind และ $group ใน Aggregation Pipeline สร้างคอลเลกชันพร้อมเอกสารที่มีอาร์เรย์รายละเอียด: > db.demo242.insertOne( ... {details2: ... [ ... {ShipingDate:new ISODate(2019-10-11),Price:1400}, ...

  7. คำสั่ง MongoDB เดียวสำหรับเรียงลำดับตามวันที่และจัดกลุ่มตามผู้ใช้

    ใช้ aggregate() ใน MongoDB เพื่อทำการจัดกลุ่ม (Group) และหาค่าสูงสุด/ต่ำสุดของวันที่ในครั้งเดียว สร้างคอลเลกชันพร้อมเอกสาร: > db.demo243.insertOne({userId:1,dueDate:new ISODate(2019-01-10)}); { acknowledged : true, insertedId : ObjectId(5e4575f81627c0c63e7dba5f) } > db.demo243.insertOne({use

  8. รวมค่าจากฟิลด์ต่างๆ เป็นอาร์เรย์เดียวด้วย MongoDB Aggregation

    การรวมค่า (Coalesce) หมายถึงการผสานค่าจากหลายฟิลด์ให้เป็นอาร์เรย์เดียว ใน MongoDB ใช้ $project ร่วมกับ $group และ $setUnion สร้างคอลเลกชันพร้อมเอกสาร: > db.demo244.insertOne({Value1:10,Value2:20}); { acknowledged : true, insertedId : ObjectId(5e4582e31627c0c63e7dba63) } > db.demo244.insertOn

  9. คำสั่ง MongoDB แสดงค่าทุกฟิลด์ยกเว้น _id

    สำหรับการแสดงเฉพาะฟิลด์ที่ต้องการและยกเว้น _id ให้ใช้ $project ใน Aggregation Pipeline ซึ่งช่วยระบุการรวมฟิลด์ การปิดการแสดง _id การเพิ่มฟิลด์ใหม่ และการรีเซ็ตค่าฟิลด์เดิม สร้างคอลเลกชันพร้อมเอกสารก่อน: > db.demo226.insertOne({Name:Chris,Age:21}); { acknowledged : true, insertedId : ObjectId(5e3

  10. อัปเดตชุดเอกสารจากรายการคู่คีย์-ค่า (Key-Value Pairs) ใน MongoDB

    เริ่มต้นด้วยการสร้างคอลเลกชันพร้อมเอกสาร: > db.demo227.insertOne({_id:101,Name:Chris}); { acknowledged : true, insertedId : 101 } > db.demo227.insertOne({_id:102,Name:Bob}); { acknowledged : true, insertedId : 102 } แสดงเอกสารทั้งหมดด้วยเมธอด find(): > db.demo227.find(); ผลลัพธ์ที่ได้: {

  11. ค้นหาเอกสารใน MongoDB ที่มีรายการในอาร์เรย์อย่างน้อยหนึ่งรายการไม่อยู่ในอีกอาร์เรย์หนึ่ง

    สำหรับกรณีนี้ ให้ใช้ Regular Expression (Regex) ในเมธอด find() ของ MongoDB เริ่มต้นด้วยการสร้างคอลเลกชันพร้อมเอกสาร: > db.demo228.insertOne({Subjects:[MongoDB,Java]}); { acknowledged : true, insertedId : ObjectId(5e3fa51f03d395bdc213473b) } > db.demo228.insertOne({Subjects:[MongoD

  12. เปลี่ยนดัชนีเฉพาะ (Unique Index) เป็นดัชนีเฉพาะแบบกระจาย (Sparse Unique Index) ใน MongoDB

    สำหรับดัชนีแบบกระจาย (Sparse Index) ให้ใช้ตัวเลือก sparse:true ต่อไปนี้คือคำสั่งสำหรับสร้างดัชนี: > db.demo229.ensureIndex({ClientName:1}, {unique: true}); { createdCollectionAutomatically : true, numIndexesBefore : 1, numIndexesAfter : 2, ok : 1 } คำสั่งสำหรับแสดงดัชนีทั้งห

  13. การใช้งาน findOne() ใน MongoDB

    เมธอด findOne() คืนค่า เพียงเอกสารเดียว ที่ตรงกับเงื่อนไข แม้จะมีหลายเอกสารที่ตรงเงื่อนไขก็ตาม (ต่างจาก find() ที่คืน Cursor ทั้งหมด) ตัวอย่างข้อมูลทดสอบ (มีชื่อซ้ำ) > db.demo230.insertOne({FirstName: Chris}); { acknowledged: true, insertedId: ObjectId(5e3fc4d2f4cebbeaebec513e) } > db.demo230

  14. วิธีรวมขนาดอาร์เรย์ (Sum Array Size) ใน MongoDB

    ใช้ $size เพื่อหาขนาดอาร์เรย์ของแต่ละเอกสาร แล้วใช้ $sum ใน $group เพื่อรวมขนาดทั้งหมด ตัวอย่างข้อมูลทดสอบ (อาร์เรย์ Subjects) > db.demo231.insertOne({Subjects: [MongoDB, MySQL, SQL Server]}); { acknowledged: true, insertedId: ObjectId(5e3fc73ff4cebbeaebec5143) } > db.demo231.insertOne({Subje

  15. การใช้ MongoDB Aggregate และ $group หาความถี่ของชื่อ (Frequency)

    ใช้ aggregate() ร่วมกับ $group และ $sum เพื่อนับจำนวนครั้งที่ค่าฟิลด์ซ้ำกัน (Frequency Count) ตัวอย่างข้อมูลทดสอบ (มีชื่อซ้ำกัน) > db.demo232.insertOne({_id: 101, Name: Chris}); { acknowledged: true, insertedId: 101 } > db.demo232.insertOne({_id: 102, Name: Bob}); { acknowledged: true, insert

  16. การจำกัดจำนวนตัวอักษรที่คืนค่าจากฟิลด์ใน MongoDB ด้วย $substr

    ใช้ตัวดำเนินการ $substr (หรือ $substrBytes/$substrCP ในเวอร์ชันใหม่) ภายใน aggregate() พร้อม $project เพื่อตัดข้อความให้เหลือจำนวนตัวอักษรที่ต้องการ ตัวอย่างข้อมูลทดสอบ (ข้อความยาว) > db.demo233.insertOne({Paragraph: My Name is John Smith.I am learning MongoDB database}); { acknowledged: true, i

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

    ใช้ตัวดำเนินการ $exists: false เพื่อค้นหาเอกสารที่ไม่มีฟิลด์ที่ระบุ ตัวอย่างข้อมูลทดสอบ (บางเอกสารมีฟิลด์ Age บางเอกสารไม่มี) > db.demo234.insertOne({FirstName: Chris, LastName: Brown, Age: 24}); { acknowledged: true, insertedId: ObjectId(5e418a50f4cebbeaebec5148) } > db.demo234.insertOne({Fi

  18. MongoDB: ดึงค่า Inner Value ของ JSON Data ด้วย Dot Notation

    การเข้าถึงค่าภายใน nested JSON object/array ใน MongoDB ใช้ Dot Notation ใน find() projection หรือ query filter ได้โดยตรง ไม่ต้อง aggregate สร้างคอลเลกชันและข้อมูลตัวอย่าง (โครงสร้างซ้อน 3 ระดับ) > db.demo235.insertOne({ id: 101, details: [ { Name: Chris Brown, Age: 21 }, { Name: Davi

  19. MongoDB Projection: ดึง Column เดียว (Single Field Projection)

    Projection ใน MongoDB ใช้ควบคุม field ที่คืนค่าใน query result ใช้ 1 (include) หรือ 0 (exclude) ไม่สามารถผสม include/exclude ได้ (ยกเว้น _id) สร้างคอลเลกชันและข้อมูลตัวอย่าง > db.demo216.insertOne({ClientName:John,ClientAge:34}); { acknowledged : true, insertedId : ObjectId(5e3e351003d395bdc2134

  20. ตัดช่องว่าง (Trim Spaces) จาก Field ใน MongoDB Query

    MongoDB 4.0+ มี operator $trim สำหรับตัด whitespace (space, tab, newline) ออกจากต้นและท้าย string ใช้ใน aggregate pipeline สร้างคอลเลกชันและข้อมูลตัวอย่าง (มีช่องว่างหน้า) > db.demo217.insertOne({FullName: Chris Brown}); { acknowledged : true, insertedId : ObjectId(5e3e5d1e03d395bdc213470f) } &

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