Latest web development tutorials
×

MongoDB หลักสูตร

MongoDB หลักสูตร NoSQL แนะนำโดยย่อ MongoDB แนะนำโดยย่อ Window ติดตั้ง MongoDB Linux ติดตั้ง MongoDB MongoDB การแปลความหมายของแนวคิด MongoDB สัมพันธ์ MongoDB การสร้างฐานข้อมูล MongoDB ลบฐานข้อมูล MongoDB แทรกเอกสาร MongoDB การปรับปรุงเอกสาร MongoDB การลบเอกสาร MongoDB เอกสารแบบสอบถาม MongoDB ผู้ประกอบการที่มีเงื่อนไข MongoDB $type ผู้ประกอบการ MongoDB Limit & Skip MongoDB ลำดับ MongoDB ดัชนี MongoDB การรวมตัว MongoDB สำเนา MongoDB ชิ้น MongoDB สำรองและกู้คืน MongoDB หน้าจอ MongoDB Java MongoDB PHP กระจาย MongoDB PHP MongoDB PHP7

MongoDB การสอนที่ทันสมัย

MongoDB ความสัมพันธ์ MongoDB อ้างอิงฐานข้อมูล MongoDB ครอบคลุมแบบสอบถามดัชนี MongoDB การวิเคราะห์แบบสอบถาม MongoDB การดำเนินงานของอะตอม MongoDB การจัดทำดัชนีขั้นสูง MongoDB ข้อ จำกัด ของดัชนี MongoDB ObjectId MongoDB Map Reduce MongoDB ค้นหาข้อความเต็ม MongoDB นิพจน์ปกติ MongoDB เครื่องมือการจัดการ MongoDB GridFS MongoDB ชุดถาวร MongoDB การเจริญเติบโตอัตโนมัติ

MongoDB การจัดทำดัชนีขั้นสูง

พิจารณาเอกสารต่อไปนี้คอลเลกชัน (ผู้ใช้):

{
   "address": {
      "city": "Los Angeles",
      "state": "California",
      "pincode": "123"
   },
   "tags": [
      "music",
      "cricket",
      "blogs"
   ],
   "name": "Tom Benzamin"
}

เอกสารดังกล่าวข้างต้นมีเอกสารย่อยและที่อยู่อาร์เรย์ของแท็ก


ข้อมูลอาร์เรย์จัดทำดัชนี

สมมติว่าเราดึงฉลากตามผู้ใช้ที่เราต้องดัชนีแท็กคอลเลกชันอาร์เรย์

สร้างดัชนีในอาร์เรย์อาร์เรย์ของความต้องการสำหรับแต่ละเขตข้อมูลในการเปิดการจัดทำดัชนี ดังนั้นเมื่อเราสร้างดัชนีสำหรับแท็กอาร์เรย์ก็จะให้เพลง, คริกเก็ต, บล็อกสามค่าเพื่อสร้างดัชนีแยกต่างหาก

สร้างดัชนีอาร์เรย์ใช้คำสั่งต่อไปนี้:

>db.users.ensureIndex({"tags":1})

หลังจากที่สร้างดัชนีที่เราสามารถดึงคอลเลกชันแท็กข้อมูล:

>db.users.find({tags:"cricket"})

เราใช้ในการตรวจสอบการใช้ดัชนีที่คุณสามารถใช้คำสั่งอธิบาย:

>db.users.find({tags:"cricket"}).explain()

ผลของคำสั่งดังกล่าวจะแสดง "เคอร์เซอร์": "BtreeCursor tags_1" ก็กล่าวว่าดัชนีมีการใช้


ดัชนีฟิลด์ย่อยเอกสาร

สมมติว่าเราต้องการเมืองรัฐฟิลด์ Pincode เรียกเอกสารเป็นเขตข้อมูลเหล่านี้เป็นสาขาที่เอกสารย่อยดังนั้นเราต้องสร้างดัชนีเอกสารย่อย

สร้างดัชนีสำหรับสามย่อยสาขาของเอกสารที่คำสั่งดังต่อไปนี้:

>db.users.ensureIndex({"address.city":1,"address.state":1,"address.pincode":1})

เมื่อดัชนีจะถูกสร้างขึ้นเราสามารถใช้ข้อมูลเพื่อดึงข้อมูลเอกสารย่อย:

>db.users.find({"address.city":"Los Angeles"})   

จำนิพจน์แบบสอบถามจะต้องปฏิบัติตามคำสั่งของดัชนีที่ระบุ ดังนั้นดัชนีที่สร้างขึ้นดังกล่าวข้างต้นจะให้การสนับสนุนแบบสอบถามต่อไปนี้:

>db.users.find({"address.city":"Los Angeles","address.state":"California"}) 

นอกจากนี้ยังสนับสนุนแบบสอบถามต่อไปนี้:

>db.users.find({"address.city":"LosAngeles","address.state":"California","address.pincode":"123"})