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

    เพื่อลบอิลิเมนต์ ให้ใช้ update() และ $pull ใน MongoDB โอเปอเรเตอร์ $pull จะลบจากอาร์เรย์ที่มีอยู่แล้ว ทุกอินสแตนซ์ของค่าหรือค่าที่ตรงกับเงื่อนไขที่ระบุ มาสร้างคอลเลกชันพร้อมเอกสารกันก่อน db.demo541.insertOne({"software":{"services":["gmail","facebook","

  2. เพิ่มฟิลด์ boolean true ให้ออบเจกต์ที่คืนค่า เมื่อค่าที่ระบุอยู่ในอาร์เรย์ สำหรับ NULL หรือค่าอื่นตั้งเป็น false

    สำหรับเรื่องนี้ ให้ใช้ $ifNull มันจะประเมินนิพจน์และคืนค่าของนิพจน์ถ้านิพจน์ประเมินได้ค่าที่ไม่ใช่ null มาสร้างคอลเลกชันพร้อมเอกสารกันก่อน > db.demo542.insertOne({"ListOfName":["Chris","David"]});{    "acknowledged" : true,    "i

  3. ค้นหาเอกสารที่มีอิลิเมนต์อาร์เรย์ตรงกันใน MongoDB

    เพื่อค้นหาเอกสารที่มีอิลิเมนต์อาร์เรย์ตรงกัน ให้ใช้ find() และภายในนั้นใช้ $all โอเปอเรเตอร์ $all จะเลือกเอกสารที่ค่าของฟิลด์เป็นอาร์เรย์ที่มีอิลิเมนต์ที่ระบุครบทุกตัว มาสร้างคอลเลกชันพร้อมเอกสารกันก่อน > db.demo543.insertOne({id:101, subject:["MySQL", "Java" ,"C",

  4. Aggregate ตามชั่วโมงและ $avg ใน MongoDB

    เพื่อทำการ aggregate ให้ใช้ aggregate() ใน MongoDB มันคำนวณค่า aggregate สำหรับข้อมูลในคอลเลกชัน มาสร้างคอลเลกชันพร้อมเอกสารกันก่อน > db.demo544.insertOne({"DueTime":new ISODate("2020-01-10 12:10:20"),Amount:100});{    "acknowledged" : true,    

  5. พิมพ์ค่า NumberLong ใน MongoDB

    Mongo shell มี NumberLong() wrapper สำหรับจัดการจำนวนเต็ม 64-bit ไวยากรณ์การใช้งานกับตัวแปรกำหนดเองและพิมพ์ด้วย toString() ดังนี้ var anyVariableName=NumberLong("yourLongNumber"); yourVariableName.toString(); เพื่อเข้าใจแนวคิดข้างต้น ให้เราทำการ implement ไวยากรณ์ดังกล่าว > var number

  6. ใช้ $match และ $project ใน MongoDB aggregate

    $match จะกรองเอกสารเพื่อส่งต่อเฉพาะเอกสารที่ตรงกับเงื่อนไขที่ระบุไปยังขั้นตอนถัดไปใน pipeline $project จะส่งต่อเอกสารพร้อมฟิลด์ที่ร้องขอไปยังขั้นตอนถัดไปใน pipeline มาดูตัวอย่างและสร้างคอลเลกชันพร้อมเอกสารกันก่อน > db.demo545.insert({Name:"Chris",details:{SubjectScore1:56,SubjectScore2

  7. ใช้ $redact ใน MongoDB aggregate

    $redact จะจำกัดเนื้อหาของเอกสารตามข้อมูลที่จัดเก็บอยู่ในเอกสารเอง คุณสามารถใช้ $cond ร่วมกับ $redact ใน aggregate ได้ มาสร้างคอลเลกชันพร้อมเอกสารกันก่อน > db.demo546.insertOne({"Value1":10,"Value2":20});{    "acknowledged" : true, "insertedId"

  8. MongoDB concurrent update กับซับคอลเลกชัน

    สำหรับการอัปเดต ให้ใช้ update() ธรรมดา ใช้โอเปอเรเตอร์ $push เพื่อเพิ่มค่าที่ระบุ และใช้สัญลักษณ์จุด (dot notation) เพื่อเข้าถึงซับคอลเลกชันและอัปเดตภายใน update() มาสร้างคอลเลกชันพร้อมเอกสารกันก่อน > db.demo547.insertOne( ... { ...    Name : "Chris", ...    Test :

  9. ข้ามเอกสารบางส่วนใน MongoDB ได้ไหม

    ได้ คุณสามารถข้ามเอกสารบางส่วนได้โดยใช้ skip() ใน MongoDB ใช้ limit() เพื่อกำหนดจำนวนเอกสารที่ต้องการแสดงหลังจากข้ามไปแล้ว มาสร้างคอลเลกชันพร้อมเอกสารกันก่อน > db.demo682.insertOne({FirstName:"John"}); {    "acknowledged" : true,    "insertedId"

  10. จำกัดจำนวนเอกสารในคอลเลกชัน MongoDB

    เพื่อจำกัดจำนวนเอกสารในคอลเลกชัน ให้ตั้ง capped = true ตั้งค่า size ไว้ที่นั่นเลย มาสร้างคอลเลกชันพร้อมเอกสารกันก่อน > db.createCollection( "demo683", { capped: true, size: 5 ,max:4} ) { "ok" : 1 } > db.demo683.insertOne({Value:100}); {    "acknowledged&qu

  11. MongoDB query สำหรับดึงเฉพาะฟิลด์ Name ตาม roles

    สำหรับเรื่องนี้ ให้ใช้ aggregate() ที่นี่เราพิจารณา 3 roles ได้แก่ Admin, Guest, และ User มาสร้างคอลเลกชันพร้อมเอกสารกันก่อน > db.demo532.insertOne({"Name":"Chris","Type":"Admin"});{    "acknowledged" : true,    "insert

  12. ใช้ $addToSet ใน MongoDB เพื่อดึงค่าของฟิลด์เดียว

    โอเปอเรเตอร์ $addToSet จะเพิ่มค่าเข้าไปในอาร์เรย์ ยกเว้นค่าที่มีอยู่แล้ว ในกรณีนั้น $addToSet จะไม่ทำอะไรกับอาร์เรย์นั้น มาสร้างคอลเลกชันพร้อมเอกสารกันก่อน > db.demo533.insertOne({"ProjectName":"Online Hospital Management"});{    "acknowledged" : true, &nb

  13. Structured grouping query ใน MongoDB เพื่อแสดงผลพร้อมฟิลด์ใหม่ที่นับจำนวน

    สำหรับเรื่องนี้ ให้ใช้ $group ใน MongoDB ใน aggregate() $group จะจัดกลุ่มเอกสารอินพุตตามนิพจน์ _id ที่ระบุ และสำหรับแต่ละการจัดกลุ่มที่แตกต่างกัน จะส่งออกเอกสาร มาสร้างคอลเลกชันพร้อมเอกสารกันก่อน > db.demo534.insertOne({_id:10,"ProductId":100,"ProductName":"Product-1&q

  14. ลบค่าอาร์เรย์ออกจากเอกสารใน MongoDB

    เพื่อลบค่าอาร์เรย์ ให้ใช้ $pull ใน MongoDB โอเปอเรเตอร์ $pull จะลบจากอาร์เรย์ที่มีอยู่แล้ว ทุกอินสแตนซ์ของค่าหรือค่าที่ตรงกับเงื่อนไขที่ระบุ มาสร้างคอลเลกชันพร้อมเอกสารกันก่อน > db.demo535.insertOne( ... { ... ...    "studentId" : "101", ...    "stud

  15. จัดกลุ่มหลายฟิลด์และนับค่าซ้ำที่จัดกลุ่มรวมกันใน MongoDB

    สำหรับเรื่องนี้ ให้ใช้ MongoDB aggregate และภายในนั้นใช้ $cond $cond จะประเมินนิพจน์ boolean เพื่อคืนค่าหนึ่งในสองนิพจน์ที่ระบุ มาสร้างคอลเลกชันพร้อมเอกสารกันก่อน > db.demo536.insertOne({"Name1":"Chris","Name2":"David"});{    "acknowledged

  16. รัน find query บนซับดอกูเมนต์ใน MongoDB

    สำหรับซับดอกูเมนต์ ให้ใช้สัญลักษณ์จุด (dot notation) มาสร้างคอลเลกชันพร้อมเอกสารกันก่อน > db.demo537.insertOne({"details":{"SubjectName":"MongoDB"}});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8c8a10ef4dcb

  17. ลบซับดอกูเมนต์ออกจากเอกสารใน MongoDB

    เพื่อลบซับดอกูเมนต์ออกจากเอกสาร ให้ใช้ $pull ร่วมกับ update() มาสร้างคอลเลกชันพร้อมเอกสารกันก่อน > db.demo538.insertOne( ... { ...    id:101, ...    "details": ...    { ...       anotherDetails: ...       [ ...    

  18. ดึงเอกสารเฉพาะใน MongoDB ด้วยอิลิเมนต์อาร์เรย์

    เพื่อดึงเอกสารเฉพาะ ให้ใช้สัญลักษณ์จุด (dot notation) ในเมธอด find() ของ MongoDB มาสร้างคอลเลกชันพร้อมเอกสารกันก่อน > db.demo672.insertOne({Brand:[{CategoryName:"Mobile","Name":"Oppo"}]}); {    "acknowledged" : true,    "insertedI

  19. ความหมายของ max field ใน MongoDB db.collection.stats()

    ฟิลด์ max ในผลลัพธ์ของ db.collection.stats() ใช้สำหรับ Capped Collection เพื่อจำกัดจำนวนเอกสารสูงสุด สร้าง Capped Collection พร้อม max > db.createCollection(demo673, {capped: true, size: 100, max: 50}); { ok : 1 } ตัวเลือก: capped: true - เปิดใช้งาน Capped Collection (ขนาดคงที่, เขียนทับเก่

Total 1351 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:9/68  20-คอมพิวเตอร์/Page Goto:1 3 4 5 6 7 8 9 10 11 12 13 14 15