Tạo bộ sưu tập lệnh MongoDB

Chúng tôi biết rằng dữ liệu trong MongoDB được lưu trữ dưới dạng tài liệu. Các tài liệu này được lưu trữ trong Bộ sưu tập và Bộ sưu tập được lưu trữ trong Cơ sở dữ liệu. Trong hướng dẫn trước, chúng ta đã học Cách tạo Cơ sở dữ liệu trong MongoDB. Trong hướng dẫn này, tôi sẽ chỉ cho bạn hai cách để tạo bộ sưu tập trong MongoDB

Phương pháp 1. Tạo Bộ sưu tập trong MongoDB một cách nhanh chóng

Điều thú vị về MongoDB là bạn không cần tạo bộ sưu tập trước khi chèn tài liệu vào đó. Với một lệnh duy nhất, bạn có thể chèn một tài liệu vào bộ sưu tập và MongoDB sẽ tạo bộ sưu tập đó một cách nhanh chóng.
Cú pháp. db. bộ sưu tập_name. đút chìa khóa vào. giá trị, khóa. giá trị…})

Ví dụ.
Chúng tôi không có bộ sưu tập beginnersbook trong cơ sở dữ liệu

WriteResult({ "nInserted" : 1 })
0. Lệnh này sẽ tạo bộ sưu tập có tên là “sách mới bắt đầu” một cách nhanh chóng và chèn một tài liệu vào đó với các cặp khóa và giá trị được chỉ định.

> use beginnersbookdb
switched to db beginnersbookdb

db.beginnersbook.insert({
  name: "Chaitanya",
  age: 30,
  website: "beginnersbook.com"
})

Bạn sẽ thấy phản hồi này trong dấu nhắc lệnh

WriteResult({ "nInserted" : 1 })

Tạo bộ sưu tập lệnh MongoDB

Để kiểm tra xem tài liệu đã được chèn thành công hay chưa, hãy gõ lệnh sau. Nó hiển thị tất cả các tài liệu trong bộ sưu tập nhất định.
Cú pháp. db. bộ sưu tập_name. tìm()

> db.beginnersbook.find()
{ "_id" : ObjectId("59bcb8c2415346bdc68a0a66"), "name" : "Chaitanya",
 "age" : 30, "website" : "beginnersbook.com" }

Tạo bộ sưu tập lệnh MongoDB

Để kiểm tra xem bộ sưu tập có được tạo thành công hay không, hãy sử dụng lệnh sau

show collections

Lệnh này hiển thị danh sách tất cả các bộ sưu tập trong cơ sở dữ liệu hiện được chọn

> show collections
beginnersbook

Phương pháp 2. Tạo bộ sưu tập với các tùy chọn trước khi chèn tài liệu

Chúng tôi cũng có thể tạo bộ sưu tập trước khi chúng tôi thực sự chèn dữ liệu vào đó. Phương pháp này cung cấp cho bạn các tùy chọn mà bạn có thể đặt trong khi tạo bộ sưu tập

Trong những năm gần đây, MongoDB đã giữ vị trí hàng đầu trong số các cơ sở dữ liệu NoSQL. Thuật ngữ NoSQL có nghĩa là không quan hệ. Mongo là một Cơ sở dữ liệu NoSQL, định hướng tài liệu mã nguồn mở cho phép người dùng truy vấn dữ liệu mà không cần phải biết SQL. Bạn có thể đọc thêm về MongoDB tại đây

MongoDB lưu trữ dữ liệu dưới dạng bộ sưu tập. Trong blog này, chúng ta sẽ tìm hiểu cách tạo một bộ sưu tập trong MongoDB

điều kiện tiên quyết

Để theo dõi blog này, bạn phải cài đặt phiên bản MongoDB mới nhất trong máy của mình. Bạn có thể tải xuống MongoDB cho hệ điều hành của mình từ liên kết này

Hãy bắt đầu bằng cách hiểu thuật ngữ tập hợp

Bộ sưu tập trong MongoDB là gì?

Chúng ta đều biết rằng MongoDB lưu trữ dữ liệu dưới dạng tài liệu. Tất cả các tài liệu tương tự được lưu trữ trong một bộ sưu tập. Nó giống như Bảng trong cơ sở dữ liệu SQL hoặc bất kỳ Cơ sở dữ liệu quan hệ nào

Một ví dụ về một bộ sưu tập được hiển thị dưới đây

How to Create a Collection in MongoDB

Nguồn. trang web mongodb

Mỗi đối tượng trong MongoDB được gọi là một tài liệu. Tất cả các đối tượng cùng nhau tạo ra một bộ sưu tập

Tạo Bộ sưu tập trong MongoDB

Làm cách nào để tạo bộ sưu tập trong MongoDB?

Có một số phương pháp để tạo một bộ sưu tập trong MongoDB

  1. Phương thức createCollection()
  2. Tạo Bộ sưu tập trong MongoDB một cách nhanh chóng

Chúng ta hãy xem xét từng phương pháp một

Để bắt đầu, chúng tôi cần một máy chủ mongo trong máy cục bộ của chúng tôi. Để làm điều đó, hãy mở thiết bị đầu cuối cho Mac và Linux và PowerShell hoặc dấu nhắc lệnh cho Windows. Chạy lệnh sau

Chỉ huy. mongod

How to Create a Collection in MongoDB

Điều này kích hoạt máy chủ MongoDB.  

Để chạy các lệnh MongoDB, chúng ta cần khởi động trình bao MongoDB. Đối với điều này, hãy mở một cửa sổ mới trong terminal hoặc PowerShell hoặc dấu nhắc lệnh và chạy lệnh sau. Chúng ta sẽ gọi cửa sổ này là mongo shell trong phần còn lại của bài viết này

Chỉ huy. mongo

How to Create a Collection in MongoDB

Điều này tạo ra một shell nơi chúng ta có thể chạy các lệnh MongoDB

Hãy tạo một cơ sở dữ liệu và sử dụng nó để chúng tôi có thể kiểm tra các ví dụ của mình. Để làm điều tương tự, hãy chạy lệnh sau trong trình bao mongo

Chỉ huy. sử dụng myDB

How to Create a Collection in MongoDB

Điều này tạo ra một cơ sở dữ liệu mới với tên myDB và chuyển sang cơ sở dữ liệu đó để chúng tôi có thể làm việc với nó

Phương thức createCollection()

Sử dụng phương thức createCollection, chúng ta có thể tạo một bộ sưu tập không có bất kỳ tài liệu nào hoặc bộ sưu tập trống.  

Cú pháp của lệnh createCollection() như sau.  

cú pháp. db. createCollection(tên, tùy chọn)

Phương thức createCollection nhận 2 tham số, tham số đầu tiên là tên của bộ sưu tập là một chuỗi và tham số còn lại là một đối tượng tùy chọn được sử dụng để định cấu hình bộ sưu tập. Đối tượng tùy chọn là tùy chọn.   

Để tạo bộ sưu tập mà không chuyển các tùy chọn bằng phương thức createCollection, hãy chạy lệnh sau trong trình bao mongo.  

Chỉ huy. db. createCollection("testCollection")

How to Create a Collection in MongoDB

Điều này tạo ra một bộ sưu tập có tên testCollection bên trong cơ sở dữ liệu myDB

Để xem bộ sưu tập, hãy chạy lệnh sau bên trong vỏ mongo

Chỉ huy. trưng bày bộ sưu tập

How to Create a Collection in MongoDB

Điều này sẽ hiển thị tất cả các bộ sưu tập chúng tôi có trong cơ sở dữ liệu

Chúng tôi có thể thêm các cấu hình bổ sung vào bộ sưu tập. Ví dụ: chúng ta có thể thêm xác thực hoặc tạo bộ sưu tập giới hạn bằng cách sử dụng tham số thứ hai là đối tượng tùy chọn

Tùy chọn cấu hình để tạo bộ sưu tập trong MongoDB

Cú pháp cơ bản để cấu hình một đối tượng trong phương thức createCollection như bên dưới

cú pháp

db.createCollection( , 
   { 
     capped: , 
     autoIndexId: , 
     size: , 
     max: , 
     storageEngine: , 
     validator: , 
     validationLevel: , 
     validationAction: , 
     indexOptionDefaults: , 
     viewOn: ,              // Added in MongoDB 3.4 
     pipeline: ,          // Added in MongoDB 3.4 
     collation: ,         // Added in MongoDB 3.4 
     writeConcern:  
   } 
) 

Hãy xem xét tất cả các tùy chọn một cách chi tiết

FieldTypeDescriptioncappedboolean(Tùy chọn). Để tạo một bộ sưu tập giới hạn, hãy chỉ định true. Nếu bạn chỉ định đúng, bạn cũng phải đặt kích thước tối đa trong trường kích thước. autoIndexId boolean(Tùy chọn). Chỉ định sai để tắt tự động tạo chỉ mục trên trường _id. kích thướcsốTùy chọn. Chỉ định kích thước tối đa tính bằng byte cho bộ sưu tập được giới hạn. Khi bộ sưu tập được giới hạn đạt đến kích thước tối đa, MongoDB sẽ xóa các tài liệu cũ hơn để tạo khoảng trống cho các tài liệu mới. Trường kích thước là bắt buộc đối với các bộ sưu tập giới hạn và bỏ qua đối với các bộ sưu tập khác. số tối đaTùy chọn. Số lượng tài liệu tối đa được phép trong bộ sưu tập giới hạn. Giới hạn kích thước được ưu tiên hơn giới hạn này. Nếu một bộ sưu tập giới hạn đạt đến giới hạn kích thước trước khi đạt đến số lượng tài liệu tối đa, MongoDB sẽ xóa các tài liệu cũ. Nếu bạn muốn sử dụng giới hạn tối đa, hãy đảm bảo rằng giới hạn kích thước, được yêu cầu đối với bộ sưu tập giới hạn, đủ để chứa số lượng tài liệu tối đa. lưu trữEnginedocumentTùy chọn. Chỉ khả dụng cho công cụ lưu trữ WiredTiger

Cho phép người dùng chỉ định cấu hình cho 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

trình xác nhận tài liệuTùy chọn. Cho phép người dùng chỉ định các quy tắc hoặc biểu thức xác thực cho bộ sưu tập. xác thựcLevelstringTùy chọn. Xác định mức độ nghiêm ngặt của MongoDB áp dụng các quy tắc xác thực cho các tài liệu hiện có trong quá trình cập nhật. xác thựcChuỗi hành độngTùy chọn. Xác định xem có tạo lỗi trên các tài liệu không hợp lệ hay chỉ cảnh báo về các vi phạm và cho phép chèn các tài liệu không hợp lệ. chỉ mụcOptionDefaultstài liệuTùy chọn. Cho phép người dùng chỉ định cấu hình mặc định cho các chỉ mục khi tạo bộ sưu tập. viewOnstringTên của bộ sưu tập nguồn hoặc dạng xem để tạo dạng xem. Tên không phải là không gian tên đầy đủ của bộ sưu tập hoặc chế độ xem; . e. không bao gồm tên cơ sở dữ liệu và ngụ ý cơ sở dữ liệu giống như dạng xem để tạo. Bạn phải tạo các dạng xem trong cùng cơ sở dữ liệu với bộ sưu tập nguồn. pipearrayMột mảng bao gồm (các) giai đoạn đường ống tổng hợp

tạo chế độ xem bằng cách áp dụng đường ống đã chỉ định cho bộ sưu tập hoặc chế độ xem viewOn

collationdocumentChỉ định đối chiếu mặc định cho bộ sưu tập

Đối chiếu cho phép người dùng chỉ định các quy tắc dành riêng cho ngôn ngữ để so sánh chuỗi, chẳng hạn như quy tắc cho chữ cái và dấu trọng âm

ghiMối quan tâmtài liệuTùy chọn. Một tài liệu thể hiện mối quan tâm ghi cho hoạt động. Bỏ qua để sử dụng mối quan tâm ghi mặc định

Để biết thêm về các tùy chọn, hãy truy cập liên kết này

Ví dụ về Tạo bộ sưu tập trong MongoDB

Một ví dụ để tạo một bộ sưu tập với các tùy chọn trước khi chèn tài liệu được hiển thị bên dưới. Chạy lệnh dưới đây trong vỏ mongo

Chỉ huy. db. createCollection("anotherCollection", { capped. đúng, tự động IndexID. thật, kích thước. 6142800, tối đa. 10000 } )

How to Create a Collection in MongoDB

Điều này tạo ra một bộ sưu tập giới hạn

một bộ sưu tập giới hạn là gì?

Bộ sưu tập có kích thước cố định tự động ghi đè lên các mục cũ nhất khi đạt đến kích thước tối đa. Oplog MongoDB được sử dụng trong bản sao là một bộ sưu tập có giới hạn

Xem thêm về capped collection và oplog tại đây

Tạo Bộ sưu tập với Xác thực Tài liệu

MongoDB có khả năng thực hiện xác thực lược đồ trong quá trình cập nhật và chèn. Nói cách khác, chúng tôi có thể xác thực từng tài liệu trước khi cập nhật hoặc chèn tài liệu mới vào bộ sưu tập

Để chỉ định quy tắc xác thực cho bộ sưu tập, chúng tôi cần sử dụng db. createCollection() với tùy chọn trình xác thực

MongoDB hỗ trợ xác thực Lược đồ JSON. Để chỉ định xác thực Lược đồ JSON, hãy sử dụng toán tử $jsonSchema trong biểu thức trình xác thực của bạn. Đây là cách được đề xuất để thực hiện xác thực trong MongoDB

$jsonSchema là gì?

Toán tử $jsonSchema khớp với các tài liệu đáp ứng Lược đồ JSON được chỉ định. Nó có cú pháp sau

Cú pháp. { $jsonSchema. }
Ví dụ về đối tượng Lược đồ json được đưa ra bên dưới.
Ví dụ.

{
  $jsonSchema: {
     required: [ "name", "year", "skills", "address" ],
     properties: {
        name: {
           bsonType: "string",
           description: "must be a string and is required"
        },
        address: {
           bsonType: "object",
           required: [ "zipcode" ],
           properties: {
               "street": { bsonType: "string" },
               "zipcode": { bsonType: "string" }
           }
        }
     }
  }
}

Để tạo bộ sưu tập có quy tắc xác thực, hãy chạy lệnh bên dưới trong trình bao mongo

Chỉ huy

db.createCollection("employees", { 
   validator: { 
      $jsonSchema: { 
         bsonType: "object", 
         required: [ "name", "year", "skills", "address" ], 
         properties: { 
            name: { 
               bsonType: "string", 
               description: "must be a string and is required" 
            }, 
            year: { 
               bsonType: "int", 
               minimum: 2017, 
               maximum: 2021, 
               description: "must be an integer in [ 2017, 2021] and is required" 
            }, 
            skills: { 
               enum: [ "JavaScript", "React", "Mongodb", null ], 
               description: "can only be one of the enum values and is required" 
            }, 
            salary: { 
               bsonType: [ "double" ], 
               description: "must be a double if the field exists" 
            }, 
            address: { 
               bsonType: "object", 
               required: [ "city" ], 
               properties: { 
                  street: { 
                     bsonType: "string", 
                     description: "must be a string if the field exists" 
                  }, 
                  city: { 
                     bsonType: "string", 
                     description: "must be a string and is required" 
                  } 
               } 
            } 
         } 
      } 
   } 
})
How to Create a Collection in MongoDB

Thao tác này tạo bộ sưu tập có xác thực.

Bây giờ nếu bạn chạy lệnh show collections, thì bộ sưu tập của nhân viên sẽ hiển thị

How to Create a Collection in MongoDB

Bây giờ, hãy xem phương pháp thứ hai đó là “Tạo Bộ sưu tập trong MongoDB một cách nhanh chóng”

Tạo Bộ sưu tập trong MongoDB một cách nhanh chóng

Một trong những điều tốt nhất về MongoDB là bạn không cần tạo bộ sưu tập trước khi chèn tài liệu vào đó. Chúng tôi có thể chèn một tài liệu vào bộ sưu tập và MongoDB tạo một bộ sưu tập một cách nhanh chóng. Sử dụng cú pháp dưới đây để tạo bộ sưu tập nhanh chóng

cú pháp. db. bộ sưu tập_name. đút chìa khóa vào. giá trị, khóa. giá trị…})

Bây giờ, hãy tạo một bộ sưu tập một cách nhanh chóng. Để đạt được điều đó, hãy chạy lệnh sau trong trình bao mongo

Chỉ huy

db.students.insert({
name: "Sai",
  age: 18,
  class: 10
})
How to Create a Collection in MongoDB

Thao tác này tạo bộ sưu tập có tên sinh viên trong cơ sở dữ liệu. Để xác nhận, bạn có thể chạy lệnh show collections và kiểm tra. Điều này sẽ hiển thị tất cả các bộ sưu tập có bộ sưu tập sinh viên, như trong hình dưới đây.

How to Create a Collection in MongoDB

Để kiểm tra xem tài liệu đã được chèn thành công hay chưa, hãy chạy lệnh bên dưới trong mongoshell để kiểm tra

cú pháp. db. bộ sưu tập_name. tìm thấy()

Chỉ huy. db. sinh viên. tìm thấy()

How to Create a Collection in MongoDB

Điều này sẽ hiển thị tất cả các tài liệu bên trong bộ sưu tập

Phần kết luận

Trong blog này, bạn đã thấy cách tạo một bộ sưu tập trong MongoDB bằng các phương thức khác nhau, cùng với các ví dụ.  

MongoDB là một công nghệ đang phát triển nhanh chóng hiện nay vì nó linh hoạt, nhanh chóng và vì nhiều lý do khác. Nhiều công ty đang sử dụng MongoDB làm cơ sở dữ liệu mà họ lựa chọn. Học MongoDB được nhiều nhà phát triển web khuyến nghị vì nó cũng tăng khả năng kiếm được việc làm

Làm cách nào để tạo bộ sưu tập trong lệnh MongoDB?

Trong MongoDB, db. createCollection(name, options) được dùng để tạo bộ sưu tập.

Lệnh được sử dụng để tạo bộ sưu tập I trong MongoDB là gì?

MongoDB db. createCollection(name, options) được dùng để tạo bộ sưu tập.

Làm cách nào để tạo bộ sưu tập với các trường trong MongoDB?

Ví dụ về Tạo bộ sưu tập trong MongoDB .
db. kho dữ liệu. chèn({.
db. createCollection(tên, tùy chọn) db. createCollection(tên, tùy chọn).
> sử dụng dataflair. chuyển sang db dataflair. >db. .
> trưng bày bộ sưu tập. mongodb. >hiển thị bộ sưu tập mongodb. .
db. bộ sưu tập_name. rơi vãi().
> sử dụng dataflair. Đã chuyển sang db dataflair. .
>db. mongodb

Làm cách nào để tạo lược đồ bộ sưu tập trong MongoDB?

Như chúng ta đã biết MongoDB không có lược đồ, tại thời điểm tạo bất kỳ đối tượng nào, chúng ta không thể tạo bất kỳ lược đồ nào trong MongoDB. Chúng ta có thể thực thi lược đồ cho bộ sưu tập trong MongoDB bằng cách sử dụng cụm tập bản đồ MongoDB , để thực thi lược đồ tài liệu, trước tiên chúng ta cần kết nối cơ sở dữ liệu và bộ sưu tập.