Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB
MongoDB
  1. MongoDB: แปลง String ที่มีคอมมาเป็น Double ด้วย Aggregate

    ใช้ aggregation pipeline ร่วม $convert, $reduce, $split, $concat เพื่อแปลง string ที่มีคอมมา (เช่น 1,533.07) เป็น double สร้างคอลเลกชันตัวอย่าง: > db.demo335.insertOne({Value:45,67,78.0}); { acknowledged : true, insertedId : ObjectId(5e522a1cf8647eb59e562091) } > db.demo335.insertOne({Value:17

  2. MongoDB: อัปเดตฟิลด์เดียวด้วย $addToSet

    ใช้ $addToSet เพื่อเพิ่มค่าเข้าไปในอาร์เรย์ก็ต่อเมื่อค่านั้นยังไม่มีอยู่ (ป้องกัน duplicate) สร้างคอลเลกชันตัวอย่าง: > db.demo336.insertOne({Name:Chris,Score:[45,67,78]}); { acknowledged : true, insertedId : ObjectId(5e522cb1f8647eb59e562097) } > db.demo336.insertOne({Name:David,Score:[89,93,4

  3. MongoDB: คำนวณผลรวม (Sum) ด้วย Aggregate

    ใช้ $sum ใน aggregation pipeline เพื่อคำนวณผลรวมของฟิลด์ตัวเลข สร้างคอลเลกชันตัวอย่าง: > db.demo337.insertOne({Amount:100}); { acknowledged : true, insertedId : ObjectId(5e5231e5f8647eb59e56209b) } > db.demo337.insertOne({Amount:500}); { acknowledged : true, insertedId : ObjectId(5e5231e9f8647

  4. MongoDB: ใช้ $concatArrays ใน $project กับ Multi-array Field

    ใช้ $concatArrays ร่วม $reduce ใน $project เพื่อรวม multi-dimensional array (อาร์เรย์ของอาร์เรย์) ให้กลายเป็นอาร์เรย์แบน (flatten) สร้างคอลเลกชันตัวอย่าง: > db.demo338.insertOne({Name:Chris,Marks1:[ [56,67,45],[67,89,90,91]]}); { acknowledged : true, insertedId : ObjectId(5e5299baf8647eb59e56209f

  5. MongoDB: รวมสองอาร์เรย์ด้วย $zip สร้างอาร์เรย์ออบเจ็กต์ใหม่

    ใช้ $zip ใน aggregation pipeline เพื่อ transpose (สลับแถว-คอลัมน์) อาร์เรย์หลายตัวให้กลายเป็นอาร์เรย์ของออบเจ็กต์ สร้างคอลเลกชันตัวอย่าง: > db.demo339.insertOne({Id:101,Score1:[98,56],Score2:[67,89]}); { acknowledged : true, insertedId : ObjectId(5e529ee5f8647eb59e5620a2) } แสดงข้อมูล: > db.de

  6. MongoDB: ใช้ findOne() แทน findById เพื่อดึงเอกสารเดี่ยว

    ใน MongoDB ไม่มีเมธอด findById() ให้ใช้ findOne() ร่วมกับเงื่อนไข _id เพื่อดึงเอกสารเดี่ยว สร้างคอลเลกชันตัวอย่าง: > db.demo340.insertOne({_id:1,Name:Chris,Age:21}); { acknowledged : true, insertedId : 1 } > db.demo340.insertOne({_id:2,Name:David,Age:23}); { acknowledged : true, insertedId : 2

  7. MongoDB: ค้นหาค่าในอาร์เรย์ด้วยหลายเงื่อนไข (Range) ด้วย $elemMatch

    ใช้ $elemMatch ร่วม $gt และ $lt ใน aggregation เพื่อค้นหาเอกสารที่มีสมาชิกในอาร์เรย์อยู่ในช่วงที่กำหนด สร้างคอลเลกชันตัวอย่าง: > db.demo341.insertOne({ Name: Chris, productDetails : [ { ProductPrice : { Price : 800 } }, { ProductPrice : { Price : 400 } }, { ProductPrice : { Price

  8. MongoDB: ดึงฟิลด์เฉพาะจาก nested array documents ด้วย $filter และ $project

    ใช้ $filter ร่วม $project ใน aggregation pipeline เพื่อดึงเฉพาะฟิลด์ที่ต้องการจาก nested array documents สร้างคอลเลกชันตัวอย่าง (nested 3 ระดับ): > db.demo342.insertOne({ Id: 101, details1 : { details2 : [ { details3 : [ { Name: Mike, CountryName : US },

  9. MongoDB: ตรวจสอบความมีอยู่ของเอกสาร/เอกสารซ้อนด้วย $exists

    ใช้โอเปอเรเตอร์ $exists เพื่อตรวจสอบว่าฟิลด์หรือฟิลด์ใน embedded document มีอยู่จริงหรือไม่ สร้างคอลเลกชันตัวอย่าง: > db.demo322.insertOne({id:1001, details:[{Score:10000,Name:Bob},{Score:98000,Name:Sam}]}); { acknowledged : true, insertedId : ObjectId(5e5113e2f8647eb59e56206c) } > db.demo322.

  10. MongoDB: สร้างดัชนี (Index) บนฟิลด์ในออบเจ็กต์ซ้อน (Embedded Document)

    ใช้ createIndex() (แทน ensureIndex) ร่วมกับ dot notation เพื่อสร้างดัชนีบนฟิลด์ภายใน embedded document สร้างคอลเลกชันและดัชนี: > db.demo323.insertOne({details:{Name:Chris,Age:34}}); { acknowledged : true, insertedId : ObjectId(5e51157af8647eb59e56206e) } > db.demo323.insertOne({details:{Name:D

  11. MongoDB: ใช้ Positional Operator $[] กับอาร์เรย์

    Positional Operator แบบ $[] (all positional operator) ใช้สำหรับอัปเดต ทุกสมาชิก ในอาร์เรย์ พร้อมใช้งานใน MongoDB 3.6+ สร้างคอลเลกชันตัวอย่าง: > db.demo324.insertOne({ListOfValues:[10,20,30]}); { acknowledged : true, insertedId : ObjectId(5e516349f8647eb59e562073) } แสดงข้อมูล: > db.demo324.fin

  12. MongoDB: Insert/Update หลายรายการโดยไม่กระทบประสิทธิภาพ

    ใช้ insertMany() สำหรับเพิ่มเอกสารหลายรายการพร้อมกัน และ createIndex() (แทน ensureIndex) เพื่อเพิ่มประสิทธิภาพการค้นหา/อัปเดต สร้างคอลเลกชันและเพิ่มข้อมูลหลายรายการ: > db.demo325.insertMany([ { _id: 101, Name: Chris, Age: 23 }, { _id: 102, Name: David, Age: 24 }, { _id: 103, Name: Bob, Age:

  13. MongoDB: เข้าถึงค่าในอาร์เรย์ด้วย Dot Notation เพื่อค้นหาเอกสาร

    ใช้ dot notation (จุด) เพื่อเข้าถึงฟิลด์ภายในออบเจ็กต์ที่อยู่ในอาร์เรย์ สร้างคอลเลกชันตัวอย่าง: > db.demo326.insertOne({id:101,ProductDetails:[{ProductId:Prod-101,ProductName:Product-1},{ProductId:Prod-102,ProductName:Product-2}]}); { acknowledged : true, insertedId : ObjectId(5e516751f8647eb59e5

  14. MongoDB: ใช้ตัวแปรผู้กำหนดเอง (User-defined Variables) ในคิวรี

    ใน MongoDB shell สามารถใช้คำสั่ง var ประกาศตัวแปรแล้วนำไปใช้ในคิวรีได้ สร้างคอลเลกชันตัวอย่าง: > db.demo327.insertOne({FirstName:Chris,LastName:Brown}); { acknowledged : true, insertedId : ObjectId(5e516952f8647eb59e562076) } > db.demo327.insertOne({FirstName:David,LastName:Miller}); { acknowl

  15. MongoDB: ใช้ findOneAndUpdate() อัปเดตเอกสารเดี่ยว

    findOneAndUpdate() ใช้สำหรับอัปเดตและคืนค่าเอกสารเดี่ยวตามเงื่อนไข filter และ sort criteria ไวยากรณ์: db.collection.findOneAndUpdate(filter, update, options) สร้างคอลเลกชันตัวอย่าง: > db.demo328.insertOne({Name:Chris,Marks:67}); { acknowledged : true, insertedId : ObjectId(5e516b19f8647eb59e56207

  16. MongoDB: รวมค่า (Sum) ของฟิลด์เฉพาะด้วย Aggregate

    ใช้ $match กรองเอกสาร แล้วตามด้วย $group และ $sum เพื่อรวมค่าของฟิลด์เฉพาะ สร้างคอลเลกชันตัวอย่าง: > db.demo329.insertOne({Name:Chris,Age:21,Marks:45}); { acknowledged : true, insertedId : ObjectId(5e516f28f8647eb59e56207d) } > db.demo329.insertOne({Name:David,Age:21,Marks:56}); { acknowledged

  17. MongoDB: จำกัดฟิลด์ที่แสดงในผลลัพธ์ (Projection)

    ใช้ projection ใน find() โดยระบุฟิลด์ที่ต้องการ (1) หรือไม่ต้องการ (0) เพื่อจำกัดข้อมูลที่ส่งกลับ สร้างคอลเลกชันตัวอย่าง: > db.demo330.insertOne({Id:101,Name:Chris,Age:21}); { acknowledged : true, insertedId : ObjectId(5e52149ff8647eb59e562081) } > db.demo330.insertOne({Id:102,Name:Sam,Age:24}

  18. สร้าง Text Index สำหรับการค้นหาข้อความใน MongoDB

    ใช้ createIndex() พร้อมระบุ text เพื่อสร้าง text index สำหรับการค้นหาข้อความ full-text search สร้างคอลเลกชันตัวอย่าง: > db.demo331.insertOne({Words:This is a MySQL}); { acknowledged : true, insertedId : ObjectId(5e521c35f8647eb59e562089) } > db.demo331.insertOne({Words:THIS is a MongoDB}); { a

  19. MongoDB: ยกเลิกฟิลด์/ออบเจ็กต์ด้วย $unset

    ใช้ $unset เพื่อลบฟิลด์หรือ embedded object ออกจากเอกสาร สร้างคอลเลกชันตัวอย่าง: > db.demo348.insertOne({ details: { studentDetails: { StudentName: Robert } } }); { acknowledged : true, insertedId : ObjectId(5e553556f8647eb59e5620b2) } > db.demo348.insertOne({ details: { studentDetails: {

  20. อัปเดต Child Objects ใน MongoDB ด้วย $set

    ใช้ $set พร้อม dot notation เพื่ออัปเดตฟิลด์ในออบเจ็กต์ลูก (child object/embedded document) สร้างคอลเลกชันตัวอย่าง: > db.demo21.insertOne({StudentId:STU-101,StudentDetails:{StudentName:Chris,StudentAge:21}}); { acknowledged : true, insertedId : ObjectId(5e14be8922d07d3b95082e6f) } แสดงข้อมูล: >

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