MongoDB - สร้างคอลเล็กชัน

ในบทนี้เราจะมาดูวิธีสร้างคอลเลกชันโดยใช้ MongoDB

createCollection () วิธีการ

MongoDB db.createCollection(name, options) ใช้ในการสร้างคอลเลกชัน

ไวยากรณ์

ไวยากรณ์พื้นฐานของ createCollection() คำสั่งมีดังนี้ -

db.createCollection(name, options)

ในคำสั่ง name เป็นชื่อของคอลเลกชันที่จะสร้าง Options เป็นเอกสารและใช้เพื่อระบุการกำหนดค่าคอลเลกชัน

พารามิเตอร์ ประเภท คำอธิบาย
ชื่อ สตริง ชื่อของคอลเล็กชันที่จะสร้าง
ตัวเลือก เอกสาร (ไม่บังคับ) ระบุตัวเลือกเกี่ยวกับขนาดหน่วยความจำและการจัดทำดัชนี

พารามิเตอร์ตัวเลือกเป็นทางเลือกดังนั้นคุณต้องระบุเฉพาะชื่อของคอลเล็กชัน ต่อไปนี้เป็นรายการตัวเลือกที่คุณสามารถใช้ได้ -

ฟิลด์ ประเภท คำอธิบาย
ต่อยอด บูลีน (ไม่บังคับ) หากเป็นจริงให้เปิดใช้คอลเล็กชันที่ต่อยอด คอลเลกชันที่ต่อยอดคือคอลเล็กชันขนาดคงที่ซึ่งจะเขียนทับรายการที่เก่าที่สุดโดยอัตโนมัติเมื่อถึงขนาดสูงสุดIf you specify true, you need to specify size parameter also.
autoIndexId บูลีน (ไม่บังคับ) หากเป็นจริงให้สร้างดัชนีบนฟิลด์ _id โดยอัตโนมัติค่าเริ่มต้นเป็นเท็จ
ขนาด จำนวน (ไม่บังคับ) ระบุขนาดสูงสุดเป็นไบต์สำหรับคอลเลกชันที่ต่อยอด If capped is true, then you need to specify this field also.
สูงสุด จำนวน (ไม่บังคับ) ระบุจำนวนเอกสารสูงสุดที่อนุญาตในคอลเล็กชันต่อยอด

ในขณะที่แทรกเอกสาร MongoDB จะตรวจสอบฟิลด์ขนาดของคอลเลกชันที่ต่อยอดก่อนจากนั้นจะตรวจสอบฟิลด์สูงสุด

ตัวอย่าง

ไวยากรณ์พื้นฐานของ createCollection() วิธีการที่ไม่มีตัวเลือกมีดังนี้ -

>use test
switched to db test
>db.createCollection("mycollection")
{ "ok" : 1 }
>

คุณสามารถตรวจสอบคอลเลกชันที่สร้างขึ้นโดยใช้คำสั่ง show collections.

>show collections
mycollection
system.indexes

ตัวอย่างต่อไปนี้แสดงไวยากรณ์ของ createCollection() วิธีการที่มีตัวเลือกที่สำคัญบางอย่าง -

> db.createCollection("mycol", { capped : true, autoIndexID : true, size : 6142800, max : 10000 } ){
"ok" : 0,
"errmsg" : "BSON field 'create.autoIndexID' is an unknown field.",
"code" : 40415,
"codeName" : "Location40415"
}
>

ใน MongoDB คุณไม่จำเป็นต้องสร้างคอลเล็กชัน MongoDB สร้างคอลเล็กชันโดยอัตโนมัติเมื่อคุณแทรกเอกสารบางอย่าง

>db.tutorialspoint.insert({"name" : "tutorialspoint"}),
WriteResult({ "nInserted" : 1 })
>show collections
mycol
mycollection
system.indexes
tutorialspoint
>