Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB
MongoDB
  1. MongoDB: Project ฟิลด์เฉพาะในอาร์เรย์ด้วย $filter ใน $project

    ใช้ $project ร่วม $filter ใน aggregation เพื่อคืนค่าเฉพาะสมาชิกในอาร์เรย์ที่ตรงเงื่อนไข สร้างคอลเลกชันตัวอย่าง: > db.demo355.insertOne({id:101,details:[{Name:Chris,isMarried:1},{Name:David,isMarried:0},{Name:Mike,isMarried:1}]}); { acknowledged : true, insertedId : ObjectId(5e568928f8647eb59e5620

  2. MongoDB: ตรวจสอบข้อมูลก่อน Insert/Update ด้วย Schema Validation

    ใช้ validator option ใน createCollection() เพื่อกำหนด validation rules สำหรับเอกสาร สร้างคอลเลกชันพร้อม validation: > db.createCollection(demo356, {validator: { $and: [ {FirstName: {$type: string, $exists: true}} ] }}) { ok : 1 } ลองเพิ่มข้อมูลที่ถูกต้อง (string): > db.demo356.insertOne({Fir

  3. MongoDB: $match ใน Aggregation Pipeline ทำงานได้จริง

    $match ใน aggregation pipeline ทำงานได้อย่างสมบูรณ์ ใช้กรองเอกสารก่อนเข้าสู่ stage ถัดไป สร้างคอลเลกชันตัวอย่าง: > db.demo358.insertOne({ClientId:101,ClientName:Chris,ClientAge:34}); { acknowledged : true, insertedId : ObjectId(5e5692c0f8647eb59e5620cb) } > db.demo358.insertOne({ClientId:102,C

  4. MongoDB: รวมค่าอาร์เรย์กับฟิลด์อื่นด้วย $concat และ $reduce

    ใช้ $reduce รวมค่าในอาร์เรย์เป็น string แล้ว $concat รวมกับฟิลด์อื่น ใน aggregation pipeline สร้างคอลเลกชันตัวอย่าง: > db.demo359.insertOne({ Name1: Chris, Name2: David, Subjects: [MySQL,MongoDB,Java] }); { acknowledged : true, insertedId : ObjectId(5e5694cdf8647eb59e5620d0) } แสดงข้อมูล: &

  5. MongoDB: หาเอกสารปัจจุบันและก่อนหน้าด้วย Sort และ Limit

    ใช้ sort() เรียงลำดับ แล้ว limit(2) เพื่อดึงเอกสารปัจจุบันและก่อนหน้า (2 รายการล่าสุดที่ตรงเงื่อนไข) สร้างคอลเลกชันตัวอย่าง: > db.demo360.insertOne({id:101,Name:Chris}); { acknowledged : true, insertedId : ObjectId(5e56a10c54a481fef8ec7a15) } > db.demo360.insertOne({id:102,Name:David}); { ackn

  6. MongoDB: ใช้ Object เป็น Key ในการค้นหาด้วย Dot Notation

    ใช้ dot notation ใน projection (พารามิเตอร์ที่ 2 ของ find) เพื่อระบุว่าจะดึงฟิลด์ไหนใน embedded object สร้างคอลเลกชันตัวอย่าง: > db.demo361.insertOne({details:{FirstName:Chris,LastName:Brown}}); { acknowledged : true, insertedId : ObjectId(5e56a61f54a481fef8ec7a19) } > db.demo361.insertOne({de

  7. MongoDB: ดึงหลายเอกสารด้วยเงื่อนไข OR ($or)

    ใช้โอเปอเรเตอร์ $or ใน find() เพื่อดึงเอกสารที่ตรงตามเงื่อนไขอย่างน้อยหนึ่งข้อ สร้างคอลเลกชันตัวอย่าง: > db.demo362.insertOne({ClientName:John,ClientProject:School Management System}); { acknowledged : true, insertedId : ObjectId(5e56a77454a481fef8ec7a1c) } > db.demo362.insertOne({ClientName:D

  8. MongoDB: แปลง Array of Objects ให้เป็น Array of Embedded Documents ด้วย $map

    ใช้ $addFields ร่วม $map ใน aggregation เพื่อแปลงโครงสร้างอาร์เรย์ และ $out เขียนทับคอลเลกชันเดิม สร้างคอลเลกชันตัวอย่าง: > db.demo343.insertOne({ _id: 101, UserName: Chris, details: [ {Name:John}, {Name:David} ] }); { acknowledged : true, insertedId : 101 } แสดงข้อมูล: > db.demo343.find

  9. MongoDB: Query หา Object ที่มีช่วงเวลานานที่สุด (Longest Time Period)

    ใช้ $addFields คำนวณระยะเวลา $subtract ระหว่าง endDate และ startDate แล้ว $sort และ $limit เพื่อหาเอกสารที่มีช่วงเวลานานที่สุด สร้างคอลเลกชันตัวอย่าง: > db.demo344.insertOne({startDate:2020-02-24 10:50:00, endDate:2020-02-24 11:50:00}); { acknowledged : true, insertedId : ObjectId(5e53f52cf8647eb

  10. MongoDB: ค้นหาและคืนค่า Sub-document ตามเงื่อนไขด้วย Aggregate

    ใช้ $match หาเอกสารหลัก แล้ว $addFields ร่วม $filter เพื่อคืนค่าเฉพาะ sub-documents ที่ตรงเงื่อนไข สร้างคอลเลกชันตัวอย่าง: > db.demo345.insertOne({ UserName : Robert, UserDetails : [ {isMarried : false, CountryName:US}, {isMarried : true, CountryName:UK}, {isMarried : false, Count

  11. MongoDB: ตรวจสอบข้อมูลซ้ำใน Inner Array ด้วย Aggregate

    ใช้ $unwind แยกอาร์เรย์ แล้ว $group นับจำนวน แล้ว $match กรองที่มากกว่า 1 เพื่อหาค่าซ้ำใน inner array สร้างคอลเลกชันตัวอย่าง (มี Chris ซ้ำ 2 ครั้ง): > db.demo347.insertOne({details: {details1: [{Name: Chris, Age: 21}]}}); { acknowledged : true, insertedId : ObjectId(5e5532eaf8647eb59e5620af) } &g

  12. วิธีลบฟิลด์/ออบเจ็กต์ใน MongoDB ด้วย $unset

    ใช้ตัวดำเนินการ $unset ร่วมกับ update() หรือ updateMany() เพื่อลบฟิลด์หรือออบเจ็กต์ซ้อนออกจากเอกสาร ตัวอย่างข้อมูลทดสอบ (ออบเจ็กต์ซ้อน details.studentDetails) > db.demo348.insertOne({ details: { studentDetails: { StudentName: Robert } } }); { acknowledged: true, insertedId: Objec

  13. MongoDB: ใช้ findOneAndUpdate() อัปเดตเอกสารเดี่ยว (ตัวอย่างเพิ่มเติม)

    findOneAndUpdate() อัปเดตและคืนค่าเอกสารเดี่ยว (atomic) สร้างคอลเลกชันตัวอย่าง: db.demo349.insertOne({Name:Chris,Marks:56}); { acknowledged : true, insertedId : ObjectId(5e55384af8647eb59e5620b4) } > db.demo349.insertOne({Name:David,Marks:78}); { acknowledged : true, insertedId : ObjectId(5e55385

  14. MongoDB: Query Deeply Nested Objects ด้วย Dot Notation

    ใช้ dot notation (จุด) เพื่อ query เข้าไปใน object ที่ซ้อนหลายระดับ (deeply nested) สร้างคอลเลกชันตัวอย่าง (3 ระดับ): > db.demo350.insertOne({ id:101, Name: Chris, details: [{ _id: 1, ClientNumber: 10001, ClientDetails: [ {Name:David, Age:29}, {Name:Bob, Age:31} ]}] }); { acknowledged :

  15. MongoDB: ค้นหาและกรองสมาชิกในอาร์เรย์ตามช่วงค่า (Range) ด้วย Aggregate

    ใช้ $match กรองเอกสาร แล้ว $addFields ร่วม $filter เพื่อกรองสมาชิกในอาร์เรย์ตามช่วงราคา สร้างคอลเลกชันตัวอย่าง: > db.demo351.insertOne({ _id : 101, ProductDetails : [ {ProductName : Product-1, ProductPrice : 500}, {ProductName : Product-2, ProductPrice : 400} ] }); { acknowledged :

  16. MongoDB: อัปเดตฟิลด์เฉพาะด้วย $set

    ใช้ $set ในคำสั่ง update() เพื่ออัปเดตเฉพาะฟิลด์ที่ต้องการ โดยไม่กระทบฟิลด์อื่น สร้างคอลเลกชันตัวอย่าง: > db.demo352.insertOne({Name:Chris}); { acknowledged : true, insertedId : ObjectId(5e55510af8647eb59e5620ba) } > db.demo352.insertOne({Name:David}); { acknowledged : true, insertedId : Objec

  17. MongoDB: นับจำนวนเอกสารในอาร์เรย์ด้วย Aggregate

    ใช้ $project ร่วม $cond, $isArray, $size เพื่อนับจำนวนสมาชิกในอาร์เรย์ของแต่ละเอกสาร สร้างคอลเลกชันตัวอย่าง: > db.demo332.insertOne({details:[{Name:Chris,Age:21}]}); { acknowledged : true, insertedId : ObjectId(5e521f16f8647eb59e56208e) } > db.demo332.insertOne({details:[{Name:David,Age:23},{N

  18. MongoDB: เพิ่ม Matched Key เข้าไปในลิสต์หลัง Query ด้วย $addFields และ $filter

    ใช้ $addFields ร่วม $filter ใน aggregation เพื่อกรอง sub-documents และเก็บเฉพาะที่ตรงเงื่อนไข สร้างคอลเลกชันตัวอย่าง: > db.demo334.insertOne({ Name: Chris, Age: 21, details: [ {Subject: MySQL, Score: 78}, {Subject: MongoDB, Score: 45} ] }); { acknowledged : true, insertedId : Obje

Total 1351 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:24/68  20-คอมพิวเตอร์/Page Goto:1 18 19 20 21 22 23 24 25 26 27 28 29 30