MongoDB dùng để lưu trữ, quản lý và xử lý dữ liệu. Các cá nhân được tổ chức thành , do đó, được lưu trữ trong cơ sở dữ liệu. Vì lược đồ của mỗi tài liệu không được xác định bởi lược đồ tĩnh, nên các hệ thống dựa trên tài liệu cung cấp tính linh hoạt hơn các hệ thống quan hệ bao gồm các bảng và bản ghi
Trong hướng dẫn này, chúng ta sẽ nói về cách tạo và quản lý các cấu trúc mà MongoDB sử dụng để sắp xếp dữ liệu. Chúng tôi sẽ đề cập đến cách tạo và quản lý cơ sở dữ liệu, sau đó là cách tạo các bộ sưu tập để chứa các tài liệu tương tự hoặc có liên quan
LIÊN QUAN ĐẾN PRISMA. IO
Nếu bạn đang sử dụng MongoDB, hãy kiểm tra trình kết nối MongoDB của Prisma. Bạn có thể tự tin sử dụng Prisma Client để quản lý cơ sở dữ liệu MongoDB sản xuất
Để bắt đầu làm việc với MongoDB và Prisma, hãy xem hướng dẫn bắt đầu từ đầu của chúng tôi hoặc cách thêm vào một dự án hiện có
Prisma là bộ công cụ cơ sở dữ liệu mã nguồn mở dành cho Typescript và Node. js nhằm mục đích giúp các nhà phát triển ứng dụng làm việc hiệu quả và tự tin hơn khi làm việc với cơ sở dữ liệu
Cách xem cơ sở dữ liệu hiện có
Trước khi chúng tôi bắt đầu tạo cơ sở dữ liệu mới, thật hữu ích khi làm quen với một số phương pháp mà MongoDB cung cấp để tìm thông tin về cơ sở dữ liệu hiện có. Điều này có thể giúp bạn hiểu được trạng thái hiện tại của hệ thống trước khi bắt đầu thực hiện các thay đổi
Để hiển thị tất cả cơ sở dữ liệu trên hệ thống mà bạn có quyền truy cập, hãy sử dụng phương thức
1
switched to db admin
show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
MongoDB sẽ phản hồi với tên của tất cả các cơ sở dữ liệu có thể truy cập trên hệ thống cũng như tóm tắt về không gian lưu trữ hiện tại của chúng
Để xem bạn hiện đang đặt cơ sở dữ liệu nào để hoạt động trên đó, hãy sử dụng lệnh
2 hoặc bí danh viết tắt của nó,
switched to db admin
3
switched to db admin
db
test
Bạn có thể thấy rằng bạn hiện đang sử dụng cơ sở dữ liệu không được liệt kê bởi lệnh
1. Điều này là do trong MongoDB, cho đến khi bạn ghi tài liệu đầu tiên vào cơ sở dữ liệu, cơ sở dữ liệu chưa thực sự được tạo. Vì vậy, trong ví dụ đầu ra ở trên, trình bao được chuẩn bị để hoạt động trên cơ sở dữ liệu
switched to db admin
5, nhưng vì nó chưa tồn tại nên nó sẽ không được trả về bởi lệnh
switched to db admin
1
switched to db admin
Để chuyển sang một cơ sở dữ liệu khác, bạn có thể sử dụng lệnh
7
switched to db admin
use admin
switched to db admin
Để có được một số thông tin cơ bản về cơ sở dữ liệu hiện tại của bạn, bạn có thể sử dụng phương pháp
8
switched to db admin
db.stats[]
{
"db" : "admin",
"collections" : 3,
"views" : 0,
"objects" : 4,
"avgObjSize" : 278.25,
"dataSize" : 1113,
"storageSize" : 86016,
"indexes" : 5,
"indexSize" : 147456,
"totalSize" : 233472,
"scaleFactor" : 1,
"fsUsedSize" : 2876923904,
"fsTotalSize" : 25832407040,
"ok" : 1
}
Đầu ra hiển thị thông tin về số lượng bộ sưu tập trong cơ sở dữ liệu, thống kê lưu trữ, thông tin chỉ mục, v.v.
Cách tạo cơ sở dữ liệu
MongoDB không có lệnh rõ ràng để tạo cơ sở dữ liệu mới. Thay vào đó, như đã đề cập trước đó, thay vào đó, bạn phải chỉ ra cho MongoDB rằng bạn muốn ghi tài liệu mới vào cơ sở dữ liệu mới. Khi những tài liệu đó được tạo ra, chúng sẽ ngầm tạo cơ sở dữ liệu
Để chuẩn bị cho MongoDB ghi vào cơ sở dữ liệu mới, hãy đưa ra lệnh
7 để chuyển sang cơ sở dữ liệu không tồn tại
switched to db admin
Ở đây, chúng ta sẽ thiết lập MongoDB để tạo một cơ sở dữ liệu mới có tên là
0
db.stats[]
use playground
switched to db playground
Nếu bạn kiểm tra cơ sở dữ liệu hiện tại của mình, nó sẽ xác nhận rằng cơ sở dữ liệu
0 hiện là mục tiêu của các lệnh liên quan đến cơ sở dữ liệu
db.stats[]
db
1
admin 0.000GB
config 0.000GB
local 0.000GB
Tuy nhiên, như đã đề cập trước đó, vì chúng tôi chưa tạo bất kỳ tài liệu nào, cơ sở dữ liệu cũng chưa được tạo.
show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
Để thực sự tạo cơ sở dữ liệu mới, trước tiên chúng ta sẽ cần tạo một cái gì đó
Cách xem các bộ sưu tập trong cơ sở dữ liệu
Trong MongoDB, các bộ sưu tập là các cấu trúc được sử dụng để nhóm các tài liệu lại với nhau bằng bất kỳ hệ thống phân loại nào bạn muốn triển khai. Họ sống bên trong cơ sở dữ liệu và lưu trữ tài liệu
Bạn có thể xem các bộ sưu tập có sẵn trong cơ sở dữ liệu mà bạn hiện đang sử dụng bằng cách sử dụng phương pháp
2
db.stats[]
Ở đây, chúng ta sẽ chuyển sang cơ sở dữ liệu
3 có sẵn một số bộ sưu tập để chứng minh
db.stats[]
4_______2_______5
admin 0.000GB
config 0.000GB
local 0.000GB
Ngoài ra, bạn có thể truy xuất các tên bộ sưu tập giống nhau trong một mảng bằng phương thức
4
db.stats[]
6
admin 0.000GB
config 0.000GB
local 0.000GB
7
admin 0.000GB
config 0.000GB
local 0.000GB
Để hiển thị thông tin bổ sung về các bộ sưu tập trong cơ sở dữ liệu hiện tại, hãy sử dụng phương pháp
5
db.stats[]
8
admin 0.000GB
config 0.000GB
local 0.000GB
9
admin 0.000GB
config 0.000GB
local 0.000GB
Bạn cũng có thể tùy chọn chuyển tài liệu vào lệnh để lọc kết quả. Ví dụ: nếu bạn chỉ muốn xem thông tin về bộ sưu tập
6, bạn có thể nhập
db.stats[]
0
db
1
db
Để kiểm tra xem một bộ sưu tập chứa bao nhiêu tài liệu, hãy sử dụng phương pháp
7. Chẳng hạn, lệnh sau kiểm tra có bao nhiêu tài liệu trong bộ sưu tập
db.stats[]
8
db.stats[]
2_______5_______3
db
Để xem số liệu thống kê cơ bản về các bộ sưu tập trong cơ sở dữ liệu hiện tại, hãy sử dụng phương pháp
9
db.stats[]
4
db
Lệnh có thể xuất nhiều thông tin hơn mức bạn có thể dễ dàng sử dụng, nhưng có chứa, nhưng hữu ích trong một số tình huống khi bạn cần xem xét kỹ các đặc điểm của bộ sưu tập
Cách tạo bộ sưu tập
Để tạo một bộ sưu tập mới, có hai tùy chọn. bạn có thể tạo các bộ sưu tập ngầm hoặc rõ ràng
Cũng giống như cơ sở dữ liệu, MongoDB có thể tự động tạo các bộ sưu tập khi lần đầu tiên một tài liệu được ghi vào chúng. Phương thức này yêu cầu MongoDB tạo một bộ sưu tập mới bằng cách chèn một tài liệu vào một bộ sưu tập chưa tồn tại
Chẳng hạn, chúng tôi có thể thay đổi lại cơ sở dữ liệu
0 mà chúng tôi quan tâm trước đó. Khi chúng tôi ở trong không gian tên đó, chúng tôi có thể chèn một tài liệu mới vào một bộ sưu tập bằng cách gọi lệnh
db.stats[]
1 trên tên mà chúng tôi muốn sử dụng cho bộ sưu tập mới. Tại đây, chúng ta có thể tạo một tài liệu về một slide trong bộ sưu tập mới có tên là
{
"db" : "admin",
"collections" : 3,
"views" : 0,
"objects" : 4,
"avgObjSize" : 278.25,
"dataSize" : 1113,
"storageSize" : 86016,
"indexes" : 5,
"indexSize" : 147456,
"totalSize" : 233472,
"scaleFactor" : 1,
"fsUsedSize" : 2876923904,
"fsTotalSize" : 25832407040,
"ok" : 1
}
2
{
"db" : "admin",
"collections" : 3,
"views" : 0,
"objects" : 4,
"avgObjSize" : 278.25,
"dataSize" : 1113,
"storageSize" : 86016,
"indexes" : 5,
"indexSize" : 147456,
"totalSize" : 233472,
"scaleFactor" : 1,
"fsUsedSize" : 2876923904,
"fsTotalSize" : 25832407040,
"ok" : 1
}
5_______5_______6
db
Đầu ra chỉ ra rằng một tài liệu đã được viết. Lệnh trên đã thực hiện ba hành động riêng biệt. Đầu tiên, MongoDB đã tạo cơ sở dữ liệu
0 mà chúng tôi đã tham chiếu trong lệnh
db.stats[]
7 của mình. Nó cũng tạo bộ sưu tập
switched to db admin
2 trong cơ sở dữ liệu vì chúng tôi gọi lệnh
{
"db" : "admin",
"collections" : 3,
"views" : 0,
"objects" : 4,
"avgObjSize" : 278.25,
"dataSize" : 1113,
"storageSize" : 86016,
"indexes" : 5,
"indexSize" : 147456,
"totalSize" : 233472,
"scaleFactor" : 1,
"fsUsedSize" : 2876923904,
"fsTotalSize" : 25832407040,
"ok" : 1
}
6 trên tên bộ sưu tập đó. Cuối cùng, nó tạo tài liệu thực tế trong bộ sưu tập
{
"db" : "admin",
"collections" : 3,
"views" : 0,
"objects" : 4,
"avgObjSize" : 278.25,
"dataSize" : 1113,
"storageSize" : 86016,
"indexes" : 5,
"indexSize" : 147456,
"totalSize" : 233472,
"scaleFactor" : 1,
"fsUsedSize" : 2876923904,
"fsTotalSize" : 25832407040,
"ok" : 1
}
2 bằng cách sử dụng đầu vào mà chúng tôi đã cung cấp cho lệnh
{
"db" : "admin",
"collections" : 3,
"views" : 0,
"objects" : 4,
"avgObjSize" : 278.25,
"dataSize" : 1113,
"storageSize" : 86016,
"indexes" : 5,
"indexSize" : 147456,
"totalSize" : 233472,
"scaleFactor" : 1,
"fsUsedSize" : 2876923904,
"fsTotalSize" : 25832407040,
"ok" : 1
}
6
{
"db" : "admin",
"collections" : 3,
"views" : 0,
"objects" : 4,
"avgObjSize" : 278.25,
"dataSize" : 1113,
"storageSize" : 86016,
"indexes" : 5,
"indexSize" : 147456,
"totalSize" : 233472,
"scaleFactor" : 1,
"fsUsedSize" : 2876923904,
"fsTotalSize" : 25832407040,
"ok" : 1
}
Bạn có thể xác minh rằng tất cả các hành động này đã được thực hiện bằng các lệnh sau
7
db
Đầu ra phải cho thấy rằng cơ sở dữ liệu
0 hiện nằm trong số các cơ sở dữ liệu được liệt kê, rằng bộ sưu tập
db.stats[]
2 được liệt kê, rằng có một tài liệu trong bộ sưu tập
{
"db" : "admin",
"collections" : 3,
"views" : 0,
"objects" : 4,
"avgObjSize" : 278.25,
"dataSize" : 1113,
"storageSize" : 86016,
"indexes" : 5,
"indexSize" : 147456,
"totalSize" : 233472,
"scaleFactor" : 1,
"fsUsedSize" : 2876923904,
"fsTotalSize" : 25832407040,
"ok" : 1
}
1 và tài liệu đó là tài liệu
use playground
2 mà chúng tôi đã chèn vào lệnh
use playground
Tùy chọn khác để sử dụng để tạo bộ sưu tập là sử dụng rõ ràng phương thức
3. Điều này cho phép bạn tạo các bộ sưu tập mà không cần thêm bất kỳ tài liệu nào vào chúng
use playground
Ví dụ: bạn có thể tạo một bộ sưu tập mới trong cơ sở dữ liệu
0 có tên là
db.stats[]
5 bằng cách nhập
use playground
8_______5_______9
db
Chúng tôi có thể xác minh rằng bộ sưu tập mới hiển thị khi chúng tôi truy vấn nhưng bộ sưu tập đó không có tài liệu
0
test
1
test
Phương pháp
3 chủ yếu hữu ích vì nó cho phép bạn chỉ định các tùy chọn khác nhau khi tạo. Ví dụ: chúng tôi có thể muốn tạo một bộ sưu tập tạo capped, là một bộ sưu tập duy trì giới hạn trên đối với kích thước được phân bổ mà nó lưu trữ bằng cách xóa tài liệu cũ nhất của nó khi đầy
use playground
Để tạo một bộ sưu tập giới hạn có tên là
7 có thể lưu trữ tối đa 10240 byte thông tin, bạn có thể gọi
use playground
2
test
3
test
Điều này sẽ tạo ra một bộ sưu tập
8 giới hạn, chúng tôi có thể xác minh bằng cách nhập
use playground
4_______6_______5
test
Cách xóa bộ sưu tập
Để xóa một bộ sưu tập, bạn có thể sử dụng phương pháp
9 trên chính bộ sưu tập đó
use playground
Ví dụ: để xóa bộ sưu tập có giới hạn
7 mà chúng tôi đã tạo, bạn có thể nhập
use playground
6
test
7
test
Bạn có thể xác minh rằng thao tác đã thành công bằng cách liệt kê lại các bộ sưu tập trong cơ sở dữ liệu hiện tại
8
test
9
test
Cách xóa cơ sở dữ liệu
Để xóa toàn bộ cơ sở dữ liệu, hãy gọi lệnh
1. Thao tác này sẽ xóa cơ sở dữ liệu hiện tại, vì vậy hãy chắc chắn rằng bạn đang truy cập đúng cơ sở dữ liệu trước khi thực hiện
switched to db playground
0_______11_______1
use admin
Nếu bạn kiểm tra danh sách các cơ sở dữ liệu có sẵn,
0 không còn hiển thị nữa
db.stats[]
show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
Vì chúng tôi chưa chuyển sang cơ sở dữ liệu mới, MongoDB vẫn được thiết lập để tạo cơ sở dữ liệu
0 nếu chúng tôi chọn thêm bộ sưu tập hoặc tài liệu mới. Bạn có thể xác minh điều này bằng lệnh
db.stats[]
3
switched to db admin
db
1
admin 0.000GB
config 0.000GB
local 0.000GB
Phần kết luận
Tạo và quản lý cơ sở dữ liệu và bộ sưu tập là một kỹ năng quan trọng khi sử dụng MongoDB. Các công cụ tổ chức cơ bản này cho phép bạn nhóm các tài liệu liên quan lại với nhau, truy vấn các tập hợp con thông tin và thiết lập chính sách ủy quyền cho các loại dữ liệu khác nhau. Làm quen với cách quản lý hiệu quả các cấu trúc này sẽ cho phép bạn quản lý dữ liệu của mình hiệu quả hơn với ít bất ngờ hơn
LIÊN QUAN ĐẾN PRISMA. IO
Nếu bạn đang sử dụng MongoDB, hãy kiểm tra trình kết nối MongoDB của Prisma. Bạn có thể tự tin sử dụng Prisma Client để quản lý cơ sở dữ liệu MongoDB sản xuất
Để bắt đầu làm việc với MongoDB và Prisma, hãy xem hướng dẫn bắt đầu từ đầu của chúng tôi hoặc cách thêm vào một dự án hiện có
Prisma là bộ công cụ cơ sở dữ liệu mã nguồn mở dành cho Typescript và Node. js nhằm mục đích giúp các nhà phát triển ứng dụng làm việc hiệu quả và tự tin hơn khi làm việc với cơ sở dữ liệu
Câu hỏi thường gặp
Bạn có thể tạo nhiều bộ sưu tập trong MongoDB không?
Có, bạn có thể có nhiều bộ sưu tập trong cơ sở dữ liệu trong MongoDB. Các bộ sưu tập có thể được coi là tương tự như các bảng trong cơ sở dữ liệu quan hệ
Làm cách nào để xóa tất cả cơ sở dữ liệu trong MongoDB?
Không có một lệnh nào để loại bỏ mọi cơ sở dữ liệu trong MongoDB, nhưng có thể thực hiện được với một tập lệnh hoặc một loạt truy vấn
Để loại bỏ một cơ sở dữ liệu, cú pháp cơ bản giống như
0
use admin
Làm cách nào để bạn đổi tên một bộ sưu tập trong MongoDB?
Để đổi tên một bộ sưu tập trong MongoDB, bạn có thể sử dụng phương thức
5
switched to db playground
Cú pháp cơ bản sẽ giống như
7
use admin
Với
6 là tên hiện tại của bộ sưu tập và
switched to db playground
7 là thay đổi mong muốn
switched to db playground
Làm cách nào để bạn liệt kê tất cả các bộ sưu tập trong MongoDB?
Bạn có thể hiển thị tất cả các bộ sưu tập có sẵn trong cơ sở dữ liệu mà bạn đang làm việc của tôi bằng cách sử dụng phương pháp
2
db.stats[]
Nếu bạn muốn xem tất cả các bộ sưu tập trong cơ sở dữ liệu
3, cú pháp cơ bản sẽ như sau
db.stats[]
Mối quan hệ giữa các bộ sưu tập trong MongoDB là gì?
Trong MongoDB, mối quan hệ thể hiện cách các loại tài liệu khác nhau có liên quan logic với nhau . Các mối quan hệ như một-một, một-nhiều, v.v. , có thể được biểu diễn bằng cách sử dụng hai mô hình khác nhau. Mô hình tài liệu nhúng. Mô hình tham chiếu.Làm cách nào để lấy dữ liệu từ bộ sưu tập này sang bộ sưu tập khác trong MongoDB?
Trong MongoDB, phương thức copyTo[] được sử dụng để sao chép tất cả tài liệu từ một bộ sưu tập [Bộ sưu tập nguồn] sang bộ sưu tập khác [Bộ sưu tập đích .Làm cách nào để kết nối bảng này với bảng khác trong MongoDB?
1 – Kết nối với cơ sở dữ liệu SQL. .2 – Xác định kết nối MongoDB đích. .3 – Thêm bảng SQL. .4 – Ánh xạ SQL sang MongoDB. .5 – Xác định mối quan hệ một đối một. .6 – Dọn dẹp bộ sưu tập MongoDB. .7 – Chạy di chuyển SQL sang MongoDB. .8 – Kiểm tra kỹ bộ sưu tập MongoDBLàm cách nào để lưu trữ dữ liệu liên quan trong MongoDB?
Tài liệu được sử dụng để lưu trữ dữ liệu trong MongoDB . Các tài liệu này được lưu ở định dạng JSON [JavaScript Object Notation] trong MongoDB. Tài liệu JSON hỗ trợ các trường được nhúng, cho phép dữ liệu liên quan và danh sách dữ liệu được lưu trữ trong tài liệu thay vì trong bảng bên ngoài. JSON được viết dưới dạng cặp tên/giá trị.