Bạn có thể tạo một bộ sưu tập bằng cách sử dụng createCollection()
hoặc nhanh chóng khi bạn chèn tài liệu.
Bộ sưu tập giống như các thùng chứa các tài liệu liên quan. Chúng thường được sử dụng để nhóm các tài liệu của một chủ đề tương tự. Ví dụ:bạn có thể có tên bộ sưu tập như
người dùng
, pageviews
, posts
, comments
, v.v.
Khi chúng tôi tạo cơ sở dữ liệu của mình, chúng tôi đã tạo một bộ sưu tập có tên là artist . Bộ sưu tập này sẽ chứa các tài liệu có thông tin chi tiết về nghệ sĩ, chẳng hạn như tên nghệ sĩ, album họ đã phát hành, v.v.
Hai cách để tạo Bộ sưu tập
Dưới đây là hai cách tạo bộ sưu tập:
- Bạn có thể tạo bộ sưu tập một cách nhanh chóng khi chèn tài liệu (sử dụng
insert()
phương pháp. - Bạn cũng có thể tạo bộ sưu tập một cách rõ ràng bằng cách sử dụng
createCollection()
phương pháp.
Đang bay
Khi bạn sử dụng insert()
để chèn một tài liệu, bạn chỉ định bộ sưu tập mà tài liệu sẽ được chèn vào. Nếu bộ sưu tập chưa tồn tại, nó sẽ được tạo.
Đây là phương pháp mà chúng tôi đã sử dụng trước đây khi tạo artists
bộ sưu tập trong khi chèn tài liệu.
Đây là mã mà chúng tôi đã sử dụng:
db.artists.insert({ artistname: "The Tea Party" })
Trong trường hợp này, các artists
bộ sưu tập trước đây không tồn tại nên nó đã được tạo cho chúng tôi.
Sử dụng createCollection()
Phương pháp
Bạn cũng có thể tạo bộ sưu tập bằng cách sử dụng createCollection()
phương pháp. Điều này cho phép bạn tạo một bộ sưu tập mà không cần chèn tài liệu.
Đây là một ví dụ về việc sử dụng createCollection()
phương pháp:
db.createCollection("producers")
Với các tùy chọn
Bạn cũng có thể chỉ định các tùy chọn cho bộ sưu tập bằng cách sử dụng db.createCollection(name, options)
cú pháp.
Đây là một ví dụ:
db.createCollection("log", { capped : true, size : 4500500, max : 4000 } )
Các trường khả dụng của MongoDB phiên bản 3.2 như sau.
Field | Loại | Mô tả | ||||||
---|---|---|---|---|---|---|---|---|
capped | boolean | Khi được đặt thành true , tạo ra một bộ sưu tập có giới hạn. Bộ sưu tập có giới hạn là bộ sưu tập có kích thước cố định tự động ghi đè các mục nhập cũ nhất của nó khi nó đạt đến kích thước tối đa. Nếu bạn chỉ định true , bạn cũng phải đặt kích thước tối đa trong size lĩnh vực. | ||||||
autoIndexId | boolean | Chỉ định false để tắt tính năng tự động tạo chỉ mục trên _id đồng ruộng. Kể từ phiên bản MongoDB 3.2, trường này không được dùng nữa và nó sẽ bị xóa trong phiên bản 3.4. | ||||||
size | số | Kích thước tối đa tính bằng byte cho bộ sưu tập có giới hạn. Chỉ được sử dụng với các bộ sưu tập có giới hạn (nó bị bỏ qua trong các bộ sưu tập khác). | ||||||
max | số | Số lượng tài liệu tối đa được phép trong bộ sưu tập có giới hạn. Lưu ý rằng kích thước size trường được ưu tiên hơn trường max đồng ruộng. Nếu bộ sưu tập đạt đến giới hạn kích thước trước khi đạt đến giới hạn tài liệu, thì MongoDB vẫn sẽ xóa tài liệu. | ||||||
usePowerOf2Sizes | boolean | Chỉ khả dụng trong công cụ lưu trữ MMAPv1. Trường này không được dùng nữa kể từ phiên bản 3.0. | ||||||
noPadding | boolean | Chỉ khả dụng trong công cụ lưu trữ MMAPv1. Tắt khả năng phân bổ 2 kích thước cho bộ sưu tập. Mặc định thành false . | ||||||
storageEngine | tài liệu | Chỉ khả dụng trong công cụ lưu trữ WiredTiger. Cho phép cấu hình công cụ lưu trữ trên cơ sở mỗi bộ sưu tập khi tạo bộ sưu tập. Cú pháp như sau:{ <storage-engine-name>: <options> } | ||||||
validator | tài liệu | Cho phép bạn chỉ định các quy tắc hoặc biểu thức xác thực cho bộ sưu tập. Lưu ý rằng xác thực chỉ được áp dụng khi chèn và cập nhật dữ liệu. Do đó, dữ liệu đã tồn tại trong cơ sở dữ liệu không được xác thực (cho đến khi nó được cập nhật). | ||||||
validationLevel | chuỗi | Cho phép bạn chỉ định mức độ nghiêm ngặt của bất kỳ quy tắc xác thực nào được áp dụng cho các tài liệu hiện có trong quá trình cập nhật. Giá trị có thể:
| ||||||
validationAction | chuỗi | Chỉ định xem sẽ xảy ra lỗi hay chỉ là cảnh báo khi các tài liệu không hợp lệ được chèn vào. Nếu có lỗi, các tài liệu không hợp lệ sẽ vẫn được chèn nhưng có cảnh báo.
| ||||||
indexOptionDefaults | tài liệu | Cho phép bạn chỉ định cấu hình mặc định cho các chỉ mục khi tạo một bộ sưu tập. Chấp nhận storageEngine tài liệu với cú pháp sau:{ |