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

    Match เอกสารที่อาร์เรย์มีสมาชิก เพียงค่าเดียว และตรงกับที่กำหนด ใช้คิวรีแบบตรงตัว (Exact Match) กับอาร์เรย์: { arrayField: [ exactValue ] } จะหาเอกสารที่อาร์เรย์มี สมาชิกเดียว และค่านั้นตรงตามที่ระบุ ตัวอย่างข้อมูล > db.arrayContainOnlySpecificFieldDemo.insertOne({ StudentName: John, Stu

  2. ใช้ผลลัพธ์จาก MongoDB ใน Shell Script

    เก็บผลลัพธ์ Query ไว้ในตัวแปร JavaScript ใน Mongo Shell MongoDB Shell เป็นสภาพแวดล้อม JavaScript ทำให้สามารถกำหนดผลลัพธ์ของ findOne() หรือ find() ลงในตัวแปร แล้วนำไปใช้ต่อได้ ตัวอย่างข้อมูล > db.useResultDemo.insertOne({StudentFirstName:Robert}); เก็บผลลัพธ์ลงตัวแปร > var studentName = db.us

  3. ตรวจสอบว่าฟิลด์มีค่า null ใน MongoDB

    ใช้ $type ตรวจสอบชนิดข้อมูลเป็น Null (BSON Type 10) ใน MongoDB ค่า null มี BSON Type Code เป็น 10 สามารถใช้โอเปอเรเตอร์ $type เพื่อค้นหาเอกสารที่ฟิลด์มีค่า null ได้อย่างแม่นยำ ตัวอย่างข้อมูล > db.nullDemo.insertOne({FirstName:Chris}); > db.nullDemo.insertOne({FirstName:null}); > db.nullDem

  4. เลือก 2 ฟิลด์ และคืนค่าอาร์เรย์ค่าที่ไม่ซ้ำและเรียงลำดับใน MongoDB

    ใช้ Aggregation + $setUnion รวมค่าจาก 2 ฟิลด์ แล้ว Distinct และ Sort เมื่อต้องการรวมค่าจาก 2 ฟิลด์ต่างกัน ให้ค่าที่ไม่ซ้ำ (Distinct) และเรียงลำดับ (Sorted) ใช้ Pipeline: $group + $push + $setUnion ตัวอย่างข้อมูล > db.sortedArrayWithDistinctDemo.insertOne({ value1: 4, value2: 5 }); > db.sorted

  5. สร้างผู้ใช้ใน MongoDB v3

    การสร้าง User ใน MongoDB เวอร์ชัน 3.x MongoDB 3.x ใช้เมธอด db.createUser() พร้อมระบบ Role-Based Access Control (RBAC) ที่แยกสิทธิ์ชัดเจน รูปแบบคำสั่ง use admin db.createUser({ user: yourUserName, pwd: yourPassword, roles: [ { role: yourPermission, db: yourDatabase } ] }); ต

  6. หาค่าที่ซ้ำมากที่สุดในอาร์เรย์ (Top Count) ด้วย MongoDB Aggregation

    ใช้ Aggregation Framework นับความถี่และหาค่าที่มากที่สุด เมื่อต้องการทราบว่าในอาร์เรย์ของหลายเอกสาร ค่าไหนปรากฏบ่อยที่สุด ใช้ Pipeline: $unwind → $group → $sort → $limit ตัวอย่างข้อมูล: วิชาที่นักเรียนเรียน > db.topCountArrayDemo.insertOne({StudentId:101, StudentSubject:[C, MongoDB]}); > db.t

  7. MongoDB Multidimensional Array Projection

    การ Project (ดึงเฉพาะบางส่วน) อาร์เรย์หลายมิติใน MongoDB เมื่อมีอาร์เรย์ซ้อนอาร์เรย์ (Nested Arrays) ต้องใช้ Aggregation Pipeline ร่วมกับ $unwind เพื่อ แบน โครงสร้างก่อนจึงจะเลือกข้อมูลได้ละเอียด ตัวอย่างข้อมูล: คะแนนนักเรียนแบบหลายมิติ > db.multiDimensionalArrayProjection.insertOne({ Studen

  8. อัปเดตเอกสารใน MongoDB โดยไม่ทับฟิลด์เดิม

    ใช้ $set อัปเดทเฉพาะฟิลด์ที่ต้องการ โอเปอเรเตอร์ $set ช่วยให้เพิ่มหรือแก้ไขฟิลด์เฉพาะโดยไม่กระทบฟิลด์อื่นๆ ในเอกสารเดียวกัน ตัวอย่างข้อมูล > db.updateRecordDemo.insertOne({StudentName:Larry}); > db.updateRecordDemo.insertOne({StudentName:David}); > db.updateRecordDemo.insertOne({StudentNam

  9. คิวรี MongoDB ลบรายการออกจากอาร์เรย์

    ใช้ $pull ลบสมาชิกเฉพาะออกจากอาร์เรย์ โอเปอเรเตอร์ $pull จะลบ ทุกสมาชิก ในอาร์เรย์ที่ตรงตามเงื่อนไขที่ระบุ ตัวอย่างข้อมูล > db.removeItemFromArray.insertOne({ _id: 101, StudentName: Larry, StudentSubjects: [C, MongoDB, Java, MySQL] }); คำสั่งลบ Java ออกจากอาร์เรย์ StudentSubjects &g

  10. ค้นหาเอกสารที่สร้างก่อนวันที่กำหนดใน MongoDB

    ใช้โอเปอเรเตอร์ $lt (Less Than) กับวันที่ เพื่อหาเอกสารที่มีฟิลด์วันที่ (Date/ISODate) น้อยกว่าค่าที่กำหนด ใช้ $lt ในคิวรี ตัวอย่างข้อมูล > db.beforeSpecifyDateDemo.insertOne({UserLoginDate: new ISODate(2016-03-21)}); > db.beforeSpecifyDateDemo.insertOne({UserLoginDate: new ISODate(2016-05-11

  11. อัปเดตและเพิ่มค่าสองฟิลด์พร้อมกันใน MongoDB

    ใช้ $inc เพิ่มค่าหลายฟิลด์ในคำสั่งเดียว โอเปอเรเตอร์ $inc รองรับการเพิ่มค่า (Increment) หลายฟิลด์พร้อมกันในคำสั่ง update() หรือ updateOne()/updateMany() ตัวอย่างข้อมูล > db.incrementDemo.insertOne({Value1:10,Value2:20}); คำสั่งเพิ่มค่า Value1 และ Value2 ทีละ 1 > db.incrementDemo.update(

  12. คิวรีเลือกเฉพาะสตริงที่เป็นตัวเลขใน MongoDB

    การค้นหาเอกสารที่ฟิลด์เป็นสตริงตัวเลขอย่างเดียว ใช้ Regular Expression (Regex) ร่วมกับคิวรี find() เพื่อกรองเฉพาะเอกสารที่ค่าของฟิลด์ประกอบด้วยตัวเลข 0-9 เท่านั้น ตัวอย่างข้อมูล > db.selectOnlyNumericDemo.insertOne({UserId:User101}); > db.selectOnlyNumericDemo.insertOne({UserId:102}); > db

  13. สร้างผู้ใช้ใน MongoDB ด้วยสคริปต์

    การสร้าง User ใน MongoDB ด้วย createUser() เมธอด db.createUser() ใช้สำหรับสร้างผู้ใช้ใหม่พร้อมกำหนดสิทธิ์ (Roles) และรหัสผ่าน รูปแบบคำสั่ง (Syntax) db.createUser({ user: yourUserName, pwd: yourPassword, roles: [ { role: read, db: yourDatabaseName } ] }); ตัวอย่าง: สร้างผู้ใ

  14. คิวรี MongoDB ตรวจสอบทุกสมาชิกในอาร์เรย์ตามเงื่อนไข

    ใช้เมธอด every() ตรวจสอบเงื่อนไขทุกค่าในอาร์เรย์ ใน MongoDB สามารถใช้ฟังก์ชัน JavaScript every() ภายในคิวรีเพื่อตรวจสอบว่า ทุกสมาชิก ในอาร์เรย์ตรงตามเงื่อนไขที่กำหนดหรือไม่ ตัวอย่างข้อมูล > db.arrayConditionDemo.insertOne({Name:John,Marks:[40,43,45]}); > db.arrayConditionDemo.insertOne({Name:

  15. ไม่พบคำสั่ง Shutdown ใน MongoDB? วิธีแก้ไข

    การปิด MongoDB Server ผ่าน Shell คำสั่ง db.shutdownServer() ต้องรันในฐานข้อมูล admin เท่านั้น หากอยู่ในฐานข้อมูลอื่นจะไม่พบคำสั่งนี้ ขั้นตอนการปิดเซิร์ฟเวอร์ > use admin switched to db admin > db.shutdownServer() ผลลัพธ์ที่คาดหวัง server should be down... 2019-04-22T19:11:40.949+0530 I NETWO

  16. ดึงผลลัพธ์จาก MongoDB Shell Script

    การแสดงผลข้อมูลใน MongoDB Shell เมื่อเขียนสคริปต์ใน MongoDB Shell สามารถใช้ฟังก์ชัน print() หรือ printjson() เพื่อแสดงผลข้อมูลออกมาที่คอนโซล ตัวอย่าง: สร้างอาร์เรย์ของออบเจ็กต์ > var studentDetails = [ {StudentName:John,StudentAge:21}, {StudentName:Carol,StudentAge:24}, {StudentName:

  17. แปลง NumberLong เป็น String ใน MongoDB

    การแปลงชนิดข้อมูล NumberLong ให้เป็น String ใน MongoDB ชนิดข้อมูล NumberLong ใช้สำหรับจำนวนเต็ม 64 บิต หากต้องการแปลงเป็นสตริง สามารถใช้เมธอด toString() หรือ valueOf() ได้ รูปแบบคำสั่ง (Syntax) // แปลงเป็น String ด้วย toString() NumberLong(yourValue).valueOf().toString(); // แปลงเป็นตัวเลข (Number

  18. วิธีลบฟิลด์และค่าใน MongoDB

    การลบฟิลด์ออกจากเอกสารใน MongoDB ใน MongoDB สามารถลบฟิลด์เฉพาะและค่าของมันออกจากเอกสารได้โดยใช้โอเปอเรเตอร์ $unset ซึ่งมีประโยชน์เมื่อต้องการกำจัดข้อมูลที่ไม่จำเป็นออกจากคอลเลกชันโดยไม่ต้องลบเอกสารทั้งหมด ตัวอย่างการสร้างข้อมูลทดสอบ ก่อนอื่น ให้สร้างคอลเลกชันชื่อ deleteFieldDemo และเพิ่มเอกสารตัวอย

  19. MongoDB ค้นหาค่าตัวเลขสูงสุดของคอลัมน์ (ข้ามค่าสตริง) ด้วย $not และ $type

    ใช้ $not ร่วมกับ $type เพื่อกรองเฉพาะค่าตัวเลข (BSON Type 1 = Double, 16 = Int32, 18 = Int64) แล้วค่อยเรียงหาค่าสูงสุด ตัวอย่างการใช้งาน สร้างคอลเลกชันผสมค่าตัวเลขและสตริง: > db.highestNumericValueOfAColumnDemo.insertOne( ... { StudentName: John, StudentMathMarks: 69 } ... ); { acknowledged : t

  20. ค้นหาเอกสารที่มีฟิลด์เฉพาะ (Property Exists) ใน MongoDB ด้วย $ne

    ใช้ $ne: null เพื่อค้นหาเอกสารที่มีฟิลด์อยู่และค่าไม่เป็น null (แตกต่างจาก $exists: true ที่คืนค่า true แม้ค่าเป็น null) ตัวอย่างการใช้งาน สร้างคอลเลกชันพร้อมข้อมูล (มี FirstName เป็น null บ้าง): > db.searchByPropertyName.insertOne({FirstName:Larry,Age:23}); { acknowledged : true, insertedId : Ob

Total 1351 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:53/68  20-คอมพิวเตอร์/Page Goto:1 47 48 49 50 51 52 53 54 55 56 57 58 59