Bộ sưu tập liên kết MongoDB

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

switched to db admin

1

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

switched to db admin

2 hoặc bí danh viết tắt của nó,

switched to db admin

3

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

switched to db admin

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

Để chuyển sang một cơ sở dữ liệu khác, bạn có thể sử dụng lệnh

switched to db admin

7

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

switched to db admin

8

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

switched to db admin

7 để chuyển sang cơ sở dữ liệu không tồn tại

Ở đâ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à

db.stats()

0

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

db.stats()

0 hiện là mục tiêu của các lệnh liên quan đến cơ sở dữ liệu

db

admin 0.000GB

config 0.000GB

local 0.000GB

1

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

db.stats()

2

Ở đây, chúng ta sẽ chuyển sang cơ sở dữ liệu

db.stats()

3 có sẵn một số bộ sưu tập để chứng minh

admin 0.000GB

config 0.000GB

local 0.000GB

4_______2_______5

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

db.stats()

4

admin 0.000GB

config 0.000GB

local 0.000GB

6

admin 0.000GB

config 0.000GB

local 0.000GB

7

Để 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

db.stats()

5

admin 0.000GB

config 0.000GB

local 0.000GB

8

admin 0.000GB

config 0.000GB

local 0.000GB

9

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

db.stats()

6, bạn có thể nhập

db

0

db

1

Để 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

db.stats()

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

2_______5_______3

Để 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

db.stats()

9

db

4

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

db.stats()

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" : "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 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

5_______5_______6

Đầ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

db.stats()

0 mà chúng tôi đã tham chiếu trong lệnh

switched to db admin

7 của mình. Nó cũng tạo 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 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

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

db

7

Đầu ra phải cho thấy rằng cơ sở dữ liệu

db.stats()

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" : "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 được liệt kê, rằng có một tài liệu trong bộ sưu tập

use playground

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

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

use playground

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

Ví dụ: bạn có thể tạo một bộ sưu tập mới trong cơ sở dữ liệu

db.stats()

0 có tên là

use playground

5 bằng cách nhập

db

8_______5_______9

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

test

0

test

1

Phương pháp

use playground

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

Để tạo một bộ sưu tập giới hạn có tên là

use playground

7 có thể lưu trữ tối đa 10240 byte thông tin, bạn có thể gọi

test

2

test

3

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

use playground

8 giới hạn, chúng tôi có thể xác minh bằng cách nhập

test

4_______6_______5

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

use playground

9 trên chính bộ sưu tập đó

Ví dụ: để xóa bộ sưu tập có giới hạn

use playground

7 mà chúng tôi đã tạo, bạn có thể nhập

test

6

test

7

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

test

8

test

9

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

switched to db playground

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

use admin

0_______11_______1

Nếu bạn kiểm tra danh sách các cơ sở dữ liệu có sẵn,

db.stats()

0 không còn hiển thị nữa

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

db.stats()

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

switched to db admin

3

db

admin 0.000GB

config 0.000GB

local 0.000GB

1

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ư

use admin

0

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

switched to db playground

5

Cú pháp cơ bản sẽ giống như

use admin

7

Với

switched to db playground

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

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

db.stats()

2

Nếu bạn muốn xem tất cả các bộ sưu tập trong cơ sở dữ liệu

db.stats()

3, cú pháp cơ bản sẽ như sau

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 MongoDB

Là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ị.