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

    ใช้ Aggregation Framework เพื่อ Group เอกสารตามวันที่ (Date Grouping) สร้างข้อมูลตัวอย่าง (UserLoginDateTime) > db.groupByDateDemo.insertOne({UserLoginDateTime: new ISODate()}); > db.groupByDateDemo.insertOne({UserLoginDateTime: new ISODate(2019-01-31 15:20:09.234Z)}); > db.groupByDateDem

  2. ลบ Field ออกจาก MongoDB Document ด้วย $unset

    ใช้ Operator $unset เพื่อลบ Field ออกจาก Document อย่างสมบูรณ์ ไวยากรณ์ db.yourCollectionName.update( {}, {$unset: {yourFieldName: 1}}, false, true // multi: true ); สร้างข้อมูลตัวอย่าง (3 Documents) db.removeFieldCompletlyDemo.insertOne({StudentName:Sam,StudentFavouriteSubject:[M

  3. เพิ่ม Field ใหม่ให้ทุก Document ใน MongoDB Collection ($set)

    ใช้ Operator $set ร่วม update() แบบ Multi-document เพื่อเพิ่ม Field ใหม่ให้ทุก Document ใน Collection ไวยากรณ์ db.yourCollectionName.update( {}, {$set: {yourFieldName: yourValue}}, false, true // upsert: false, multi: true ); สร้างข้อมูลตัวอย่าง (4 Documents) db.addNewFieldToEvery

  4. Query ขนาด Internal Array ใน MongoDB ด้วย $size

    ใช้ Operator $size ใน Aggregation Pipeline เพื่อหาขนาดของ Internal Array (Array ภายใน Document) ไวยากรณ์ db.internalArraySizeDemo.aggregate([ { $group: { _id: yourObjectIdValue, anyFieldName: {$first: {$size: $yourArrayName}} } } ]); สร้างข้อมูลตัว

  5. วิธี Sort Inner Array ใน MongoDB ด้วย Aggregation

    ใช้ Aggregation Framework: $unwind แยก Array → $sort เรียงลำดับ → $group รวมกลับ → $project จัดรูปแบบ สร้างข้อมูลตัวอย่าง (Deep Nested Array) > db.sortInnerArrayDemo.insertOne({ EmployeeDetails: { EmployeeAddress: { EmployeeCountry: [ {EmployeeZipCode: 10

  6. MongoDB Regex Search บนค่า Integer (ตัวเลข)

    Regex ทำงานบน String ไม่ทำงานโดยตรงบน Integer ต้องใช้ $where ร่วม JavaScript .test() เพื่อแปลงตัวเลขเป็น String แล้วค่อย Match ไวยากรณ์ db.yourCollectionName.find({ $where: /^yourIntegerPattern.*/.test(this.yourFieldName) }); สร้างข้อมูลตัวอย่าง > db.regExpOnIntegerDemo.insertOne({Studen

  7. Query แบบ Case-Insensitive ใน MongoDB ด้วย Regex

    ใช้ Regular Expression กับ Flag i เพื่อ Query แบบไม่สนใจตัวพิมพ์เล็ก/ใหญ่ (Case-Insensitive) ไวยากรณ์ db.yourCollectionName.find({yourFieldName: /^yourValue$/i}); ^ = เริ่มสตริง, $ = จบสตริง, i = Case-Insensitive สร้างข้อมูลตัวอย่าง > db.caseInsensitiveDemo.insertOne({Name: John}); { acknowl

  8. Update ฟิลด์ใน Array Element ตำแหน่งที่กำหนด (Exact Position) ใน MongoDB

    ใช้ Positional Operator $ ร่วม Index ของ Array เพื่ออัปเดต Element ตำแหน่งที่แน่นอน ไวยากรณ์ {$set: {yourArrayDocumentName.$.yourNestedArrayDocument.yourIndex: yourValue}} สร้างข้อมูลตัวอย่าง (Nested Array) > db.updateExactField.insertOne({ ActorId: 1, ActorDetails: [ {ActorN

  9. หาเอกสารที่ Array มีค่าเฉพาะใน MongoDB

    ใช้ find() โดยระบุค่าที่ต้องการตรงใน Array โดยตรง MongoDB จะ Match เอกสารที่ Array มีค่านั้นอยู่ ไวยากรณ์ db.yourCollectionName.find({yourArrayFieldName: yourValue}).pretty(); สร้างข้อมูลตัวอย่าง > db.findSpecificValue.insertOne({StudentId:1,StudentName:Larry,FavouriteSubject:[C,C++,Java]});

  10. ลบ Element ออกจาก Array ใน MongoDB ด้วย $pull และ $in

    ใช้ $pull ร่วม $in เพื่อลบหลายค่าจาก Array ได้ในคำสั่งเดียว ไวยากรณ์ db.yourCollectionName.update( {}, {$pull: { yourFirstArrayName: {$in: [yourValue]}, yourSecondArrayName: yourValue }}, {multi: true} ); สร้างข้อมูลตัวอย่าง > db.removeArrayElement.insertOne({

  11. ลบ Object ออกจาก Array ใน MongoDB ด้วย $pull

    ใช้ Operator $pull เพื่อลบ Element (Object) ออกจาก Array ตามเงื่อนไข ไวยากรณ์ db.yourCollectionName.update( {_id: ObjectId(...)}, {$pull: {yourArrayName: {yourArrayFieldName: yourValue}}}, false, true ); สร้างข้อมูลตัวอย่าง > db.removeObject.insertOne({ CustomerName: Maxwell,

  12. วิธี Select ฟิลด์เดียวใน MongoDB (Projection)

    ใช้ Projection ใน find() เพื่อเลือกดึงเฉพาะฟิลด์ที่ต้องการ ไวยากรณ์: db.yourCollectionName.find( {yourFieldName: yourValue}, {yourSingleFieldName: 1, _id: 0} ); fieldName: 1 = Include (รวม), _id: 0 = Exclude (ไม่รวม _id) สร้างข้อมูลตัวอย่าง > db.singleFieldDemo.insertOne({StudentName:

  13. นับจำนวน Items ใน Array ด้วย MongoDB $size Operator

    ใช้ Operator $size ใน Aggregation Pipeline เพื่อนับจำนวนสมาชิกใน Array ไวยากรณ์ db.yourCollectionName.aggregate({ $project: { anyFieldName: { $size: $yourArrayName } } }).pretty(); สร้างข้อมูลตัวอย่าง > db.getSizeOfArray.insertOne({StudentId:1,StudentName:Larry,StudentMarks:[

  14. วิธีเปลี่ยน _id ของเอกสาร MongoDB (ไม่สามารถ Update โดยตรงได้)

    ไม่สามารถ Update _id โดยตรงได้ แต่สามารถทำได้โดย: สร้าง _id ใหม่ Insert เอกสารใหม่ แล้วลบ _id เก่า ขั้นตอน 4 Steps เก็บ ObjectId เก่าไว้ในตัวแปร var myDoc = db.yourCollection.findOne({_id: yourOldObjectId}); กำหนด _id ใหม่ myDoc._id = yourNewObjectId; Insert เอกสารใหม่ db.yourCollection.insert(myD

  15. Best Practice: จัดเก็บ Date/Time ใน MongoDB

    มี 2 วิธีหลักในการจัดเก็บ Date/Time ใน MongoDB: วิธีที่ 1: ใช้ Date Object ของ JavaScript (แนะนำ) new Date(); วิธีที่ 2: ใช้ ISODate() new ISODate(); ตัวอย่างทั้งสองวิธี // วิธี 1: Date object > db.ProductsInformation.insertOne({ProductId:Product-1,ProductDeliveryDateTime: new Date()}); { ack

  16. ดึงเฉพาะ Element ที่ Query ใน Array ของ Object MongoDB ($elemMatch)

    ใช้ Projection Operator $elemMatch เพื่อดึงเฉพาะ Element ใน Array ที่ตรงเงื่อนไข สร้างข้อมูลตัวอย่าง (Array of Objects) > db.objectArray.insert({Persons:[{PersonName:Adam,PersonSalary:25000},{PersonName:Larry,PersonSalary:27000}]}); WriteResult({ nInserted : 1 }) > db.objectArray.insert({Per

  17. Update ฟิลด์ MongoDB ด้วยค่าจากอีกฟิลด์หนึ่ง (Aggregation)

    ใช้ Aggregation Pipeline ร่วม $addFields และ $out เพื่ออัปเดตฟิลด์โดยใช้ค่าจากฟิลด์อื่น สร้างคอลเล็กชัน name > db.name.insert({FirstName:John,LastName:Smith}); WriteResult({ nInserted : 1 }) > db.name.find().pretty(); { _id : ObjectId(5c6c00dd68174aae23f5ef55), FirstName : John, LastName : S

  18. หาเอกสารระหว่างสองวันที่ใน MongoDB ($gte, $lt)

    ใช้ Operator $gte (Greater Than or Equal) และ $lt (Less Than) เพื่อหาเอกสารที่วันที่อยู่ในช่วงระหว่างสองวัน สร้างข้อมูลตัวอย่าง > db.order.insert({OrderId:1,OrderAddress:US,OrderDateTime:ISODate(2019-02-19)}); WriteResult({ nInserted : 1 }) > db.order.insert({OrderId:2,OrderAddress:UK,OrderD

Total 1351 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:67/68  20-คอมพิวเตอร์/Page Goto:1 61 62 63 64 65 66 67 68