Tạo Collection trong MongoDB

Phương thức createCollection() trong MongoDB

Phương thức db.createCollection(name, options) trong MongoDB được sử dụng để tạo Collection.

Cú pháp cơ bản của lệnh createCollection() trong MongoDB như sau:

db.createCollection(name, options)

Trong lệnh trên, name là tên của Collection. Options là một Document và được sử dụng để xác định cấu hình cho Collection.

Tham sốKiểuMiêu tả
NameChuỗiTên của Collection
OptionsDocument(Tùy ý) Xác định các tùy chọn về kích cỡ bộ nhớ và việc lập chỉ mục

Tham số options là tùy ý, vì thế bạn chỉ cần xác định tên của Collection. Dưới đây là danh sách các tùy chọn bạn có thể sử dụng:

TrườngKiểuMiêu tả
cappedBoolean(Tùy ý) Nếu true, kích hoạt một Capped Collection. Đây là một Collection có kích cỡ cố định mà tự động ghi đè các entry cũ nhất khi nó tiếp cận kích cỡ tối đa. Nếu bạn xác định là true, thì bạn cũng cần xác định tham số size
autoIndexIDBoolean(Tùy ý) Nếu true, tự động tạo chỉ mục trên các trường _id. Giá trị mặc định là false
sizeSố(Tùy ý) Xác định kích cỡ tối đa (giá trị byte) cho một Capped Collection. Nếu tham số capped là true, thì bạn cũng cần xác định trường này
maxSố(Tùy ý) Xác định số Document tối đa được cho phép trong một Capped Colleciton

Trong khi thực hiện việc chèn dữ liệu vào Document, đầu tiên MongoDB kiểm tra trường size của Capped Collection, sau đó nó kiểm tra trường max.

Ví dụ

Cú pháp cơ bản của phương thức createCollection() mà không có các options là như sau:

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

Bạn có thể kiểm tra Collection đã tạo bởi sử dụng lệnh show collections như sau:

>show collections
mycollection
system.indexes

Các ví dụ sau minh họa cú pháp của phương thức createCollection() với một số options quan trọng.

>db.createCollection("mycol", { capped : true, autoIndexID : true, size : 6142800, max : 10000 } )
{ "ok" : 1 }
>

Trong MongoDB, bạn không cần tạo Collection. MongoDB tạo Collection một cách tự động, khi bạn chèn một số Document.

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

Bình luận