Bộ sưu tập MongoDB

Cơ sở dữ liệu, bộ sưu tập, tài liệu là những phần quan trọng của MongoDB, nếu không có chúng thì bạn không thể lưu trữ dữ liệu trên máy chủ MongoDB. Cơ sở dữ liệu chứa một bộ sưu tập và một bộ sưu tập chứa các tài liệu và các tài liệu chứa dữ liệu, chúng có liên quan với nhau.  

Bộ sưu tập MongoDB

cơ sở dữ liệu

Trong MongoDB, một cơ sở dữ liệu chứa các tập tài liệu. Một người có thể tạo nhiều cơ sở dữ liệu trên máy chủ MongoDB.   

Xem cơ sở dữ liệu

Để xem có bao nhiêu cơ sở dữ liệu trong máy chủ MongoDB của bạn, hãy viết câu lệnh sau vào trình bao mongo.   

show dbs

Ví dụ.   

Bộ sưu tập MongoDB

Ở đây, chúng tôi mới bắt đầu MongoDB nên chúng tôi không có cơ sở dữ liệu ngoại trừ ba cơ sở dữ liệu mặc định này, tôi. e, quản trị viên, cấu hình và cục bộ.   

Hạn chế đặt tên cho cơ sở dữ liệu

Trước khi tạo cơ sở dữ liệu, trước tiên bạn nên tìm hiểu về các hạn chế đặt tên cho cơ sở dữ liệu.   

  • Trong MongoDB, tên của cơ sở dữ liệu không phân biệt chữ hoa chữ thường, nhưng bạn phải luôn nhớ rằng tên cơ sở dữ liệu không thể chỉ khác nhau về chữ hoa chữ thường của các ký tự
  • Đối với người dùng windows, tên cơ sở dữ liệu MongoDB không được chứa bất kỳ ký tự nào sau đây.  
/\. "$*:|?
  • Đối với người dùng Unix và Linux, tên cơ sở dữ liệu MongoDB không được chứa bất kỳ ký tự nào sau đây.  
/\. "$
  • Tên cơ sở dữ liệu MongoDB không thể chứa các ký tự null (trong các hệ thống windows, Unix và Linux)
  • Tên cơ sở dữ liệu MongoDB không được để trống và phải chứa ít hơn 64 ký tự.  

Tạo cơ sở dữ liệu

Trong trình bao mongo, bạn có thể tạo cơ sở dữ liệu với sự trợ giúp của lệnh sau.   

use database_name 

Lệnh này thực sự chuyển bạn sang cơ sở dữ liệu mới nếu tên đã cho không tồn tại và nếu tên đã cho tồn tại, thì nó sẽ chuyển bạn sang cơ sở dữ liệu hiện có. Bây giờ ở giai đoạn này, nếu bạn sử dụng lệnh show để xem danh sách cơ sở dữ liệu, nơi bạn sẽ thấy rằng cơ sở dữ liệu mới của mình không có trong danh sách cơ sở dữ liệu đó bởi vì, trong MongoDB, cơ sở dữ liệu thực sự được tạo khi bạn bắt đầu nhập dữ liệu vào cơ sở dữ liệu đó.  

Ví dụ.   

Bộ sưu tập MongoDB

Ở đây, chúng tôi tạo một cơ sở dữ liệu mới có tên GeekforGeeks bằng cách sử dụng lệnh. Sau khi tạo cơ sở dữ liệu khi chúng tôi kiểm tra danh sách cơ sở dữ liệu, chúng tôi không tìm thấy cơ sở dữ liệu của mình trong danh sách đó vì chúng tôi không nhập bất kỳ dữ liệu nào vào cơ sở dữ liệu GeekforGeek.  

thu thập

Bộ sưu tập giống như các bảng trong cơ sở dữ liệu quan hệ, chúng cũng lưu trữ dữ liệu, nhưng ở dạng tài liệu. Một cơ sở dữ liệu duy nhất được phép lưu trữ nhiều bộ sưu tập.   

giản đồ

Như chúng ta biết rằng cơ sở dữ liệu MongoDB không có lược đồ. Vì vậy, không nhất thiết trong một bộ sưu tập, lược đồ của một tài liệu phải giống với tài liệu khác. Hay nói cách khác, một bộ sưu tập duy nhất chứa các loại tài liệu khác nhau như được hiển thị trong ví dụ bên dưới trong đó bộ sưu tập mystudentData chứa hai loại tài liệu khác nhau.  

Bộ sưu tập MongoDB

Hạn chế đặt tên cho bộ sưu tập

Trước khi tạo bộ sưu tập, trước tiên bạn nên tìm hiểu về các hạn chế đặt tên cho bộ sưu tập.  

  • Tên bộ sưu tập phải bắt đầu bằng dấu gạch dưới hoặc ký tự
  • Tên bộ sưu tập không chứa $, chuỗi rỗng, ký tự null và không bắt đầu bằng hệ thống. tiếp đầu ngữ
  • Độ dài tối đa của tên bộ sưu tập là 120 byte (bao gồm tên cơ sở dữ liệu, dấu tách dấu chấm và tên bộ sưu tập)

Tạo bộ sưu tập

Sau khi tạo cơ sở dữ liệu, bây giờ chúng tôi tạo một bộ sưu tập để lưu trữ tài liệu. Bộ sưu tập được tạo bằng cú pháp sau.  

db.collection_name.insertOne({..})

Ở đây, hàm insertOne() được sử dụng để lưu trữ dữ liệu đơn lẻ trong bộ sưu tập đã chỉ định. Và trong dấu ngoặc nhọn {}, chúng tôi lưu trữ dữ liệu của mình hay nói cách khác, đó là một tài liệu.  

Ví dụ.   

Bộ sưu tập MongoDB

Trong ví dụ này, chúng tôi tạo một bộ sưu tập có tên là Tác giả và chúng tôi chèn dữ liệu vào đó với sự trợ giúp của hàm insertOne(). Hay nói cách khác, {name. “Ankita”} là một tài liệu trong bộ sưu tập Tác giả và trong tài liệu này, tên là khóa hoặc trường và “Ankita” là giá trị của khóa hoặc trường này. Sau khi nhấn enter, chúng tôi nhận được một thông báo (như trong hình trên) và thông báo này cho chúng tôi biết rằng dữ liệu đã nhập thành công (i. e. , "thừa nhận". true) và cũng gán cho chúng tôi một id được tạo tự động. Tính năng đặc biệt do MongoDB cung cấp là mỗi tài liệu cung cấp một id duy nhất và nói chung, id này được tạo tự động, nhưng bạn được phép tạo id của riêng mình (phải là duy nhất).   

Tài liệu

Trong MongoDB, các bản ghi dữ liệu được lưu trữ dưới dạng tài liệu BSON. Ở đây, BSON là viết tắt của biểu diễn nhị phân của tài liệu JSON, mặc dù BSON chứa nhiều loại dữ liệu hơn so với JSON. Tài liệu được tạo bằng cặp trường-giá trị hoặc cặp khóa-giá trị và giá trị của trường có thể thuộc bất kỳ loại BSON nào.  

cú pháp.   

{ 
field1: value1
field2: value2
....
fieldN: valueN
}

Hạn chế đặt tên cho các trường

Trước khi tiếp tục, trước tiên bạn nên tìm hiểu về các hạn chế đặt tên cho các trường.  

  • Tên trường là các chuỗi
  • Tên trường _id được dành riêng để sử dụng làm khóa chính. Và giá trị của trường này phải là duy nhất, không thay đổi và có thể thuộc bất kỳ kiểu nào khác ngoài mảng
  • Tên trường không được chứa ký tự null
  • Tên trường cấp cao nhất không được bắt đầu bằng ký hiệu đô la ($)

Kích thước tài liệu. Kích thước tối đa của tài liệu BSON là 16MB. Nó đảm bảo rằng một tài liệu không sử dụng quá nhiều dung lượng RAM hoặc băng thông (trong quá trình truyền). Nếu một tài liệu chứa nhiều dữ liệu hơn kích thước đã chỉ định, thì MongoDB sẽ cung cấp API GridFS để lưu trữ loại tài liệu đó.  

Lưu ý quan trọng –

  • Một tài liệu có thể chứa các trường trùng lặp
  • MongoDB luôn lưu thứ tự của các trường trong tài liệu ngoại trừ trường _id (luôn xuất hiện ở vị trí đầu tiên) và việc đổi tên các trường có thể thay đổi thứ tự của các trường trong tài liệu
  • Trường _id. Trong MongoDB, mọi kho lưu trữ tài liệu trong bộ sưu tập phải chứa một trường _id duy nhất, nó giống như một khóa chính trong cơ sở dữ liệu quan hệ. Giá trị của trường _id có thể do người dùng hoặc hệ thống đặt (nếu người dùng không tạo trường _id thì hệ thống sẽ tự động tạo ObjectId cho trường _id).  
    • Khi bạn tạo một bộ sưu tập, MongoDB sẽ tự động tạo một chỉ mục duy nhất trên trường _id
    • Trường _id là trường đầu tiên của mọi tài liệu
    • Giá trị của trường _id có thể thuộc bất kỳ loại BSON nào ngoại trừ mảng
    • Giá trị mặc định của trường _id là ObjectId

Ví dụ 1.   

Bộ sưu tập MongoDB

Ở đây, tên, chi nhánh, khóa học và trường trả phí chứa các giá trị của loại chuỗi. trường số tiền chứa giá trị của kiểu số nguyên và trường _id do hệ thống tạo ra.  

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

Một bộ sưu tập là một nhóm các tài liệu MongoDB . Tài liệu trong một bộ sưu tập có thể có các trường khác nhau. Một bộ sưu tập tương đương với một bảng trong hệ thống cơ sở dữ liệu quan hệ.

Bộ sưu tập MongoDB có phải là một bảng không?

Bộ sưu tập khác với bảng như thế nào? . Một bộ sưu tập chứa một hoặc nhiều tài liệu BSON. Tài liệu tương tự như bản ghi hoặc hàng trong bảng cơ sở dữ liệu quan hệ. Instead of tables, a MongoDB database stores its data in collections. A collection holds one or more BSON documents. Documents are analogous to records or rows in a relational database table.

Bộ sưu tập so với cơ sở dữ liệu trong MongoDB là gì?

MongoDB lưu trữ các bản ghi dữ liệu dưới dạng tài liệu (cụ thể là tài liệu BSON) được tập hợp lại với nhau trong các bộ sưu tập. Cơ sở dữ liệu lưu trữ một hoặc nhiều tập tài liệu .

Ba loại dữ liệu trong bộ sưu tập MongoDB là gì?

Các kiểu dữ liệu trong MongoDB. Các kiểu dữ liệu MongoDB phổ biến .
Chuỗi
số nguyên
Gấp đôi
Boolean
Mảng