sách gpt4 ai đã đi

Một cuộc thảo luận ngắn gọn về mối quan hệ MongoDB

In lại Tác giả:qq735679552 Thời gian cập nhật: 2022-09-29 22:32:09 30 4
mua khóa gpt4 Nike

CFSDN nhấn mạnh vào việc tạo ra giá trị thông qua mã nguồn mở. Chúng tôi cam kết xây dựng một nền tảng chia sẻ tài nguyên để mọi người làm CNTT có thể tìm thấy thế giới tuyệt vời của riêng mình tại đây.

Bài đăng trên blog CFSDN này nói về mối quan hệ MongoDB. Bài đăng được tác giả thu thập và biên soạn. Nếu bạn quan tâm đến bài viết này, vui lòng thích bài viết.

Mối quan hệ MongoDB thể hiện kết nối logic giữa nhiều tài liệu.

Các tài liệu có thể được liên kết với nhau thông qua nhúng và tham chiếu.

Các mối quan hệ trong MongoDB có thể là:

  • 1:1 (1 đến 1)
  • 1: N (1 đến nhiều)
  • N: 1 (nhiều đến 1)
  • N:N (nhiều-nhiều)

Tiếp theo, chúng ta hãy xem xét mối quan hệ giữa người dùng và địa chỉ người dùng.

Một người dùng có thể có nhiều địa chỉ, do đó đây là mối quan hệ một-nhiều.

Sau đây là cấu trúc đơn giản của một tài liệu người dùng:

?
1
2
3
4
5
6
{
   "_nhận dạng" :ID đối tượng( "52ffc33cd85242f436000001" ),
   "tên" : "Tom Hanks" ,
   "liên hệ" : "987654321" ,
   "ngày sinh" : "01-01-1991"
}

Sau đây là cấu trúc đơn giản của một tài liệu địa chỉ:

?
1
2
3
4
5
6
7
{
   "_nhận dạng" :ID đối tượng( "52ffc4a5d85242602e000000" ),
   "xây dựng" : "22 A, Căn hộ Indiana" ,
   "mã pin" : 123456,
   "thành phố" : "Los Angeles" ,
   "tình trạng" : "California"
}

Mối quan hệ nhúng.

Sử dụng phương pháp nhúng, chúng ta có thể nhúng địa chỉ của người dùng vào tài liệu của người dùng:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
   "_nhận dạng" :ID đối tượng( "52ffc33cd85242f436000001" ),
   "liên hệ" : "987654321" ,
   "ngày sinh" : "01-01-1991" ,
   "tên" : "Tom Benzamin" ,
   "Địa chỉ" : [
    {
      "xây dựng" : "22 A, Căn hộ Indiana" ,
      "mã pin" : 123456,
      "thành phố" : "Los Angeles" ,
      "tình trạng" : "California"
    },
    {
      "xây dựng" : "170 A, Căn hộ Acropolis" ,
      "mã pin" : 456789,
      "thành phố" : "Chicago" ,
      "tình trạng" : "Illinois"
    }]
}

Dữ liệu trên được lưu trong một tài liệu duy nhất, giúp việc lấy và duy trì dữ liệu dễ dàng hơn. Bạn có thể truy vấn địa chỉ của người dùng như thế này:

?
1
>db.users.findOne({ "tên" : "Tom Benzamin" },{ "Địa chỉ" :1})

Lưu ý: Trong truy vấn trên, db và users biểu diễn cơ sở dữ liệu và bộ sưu tập.

Nhược điểm của cấu trúc dữ liệu này là nếu số lượng người dùng và địa chỉ người dùng tiếp tục tăng và lượng dữ liệu tiếp tục tăng thì hiệu suất đọc và ghi sẽ bị ảnh hưởng.

Mối quan hệ tham chiếu.

Mối quan hệ tham chiếu là một phương pháp thường được sử dụng trong thiết kế cơ sở dữ liệu. Phương pháp này tách tài liệu dữ liệu người dùng khỏi tài liệu dữ liệu địa chỉ người dùng và thiết lập mối quan hệ bằng cách tham chiếu trường id của tài liệu.

?
1
2
3
4
5
6
7
8
9
10
{
   "_nhận dạng" :ID đối tượng( "52ffc33cd85242f436000001" ),
   "liên hệ" : "987654321" ,
   "ngày sinh" : "01-01-1991" ,
   "tên" : "Tom Benzamin" ,
   "địa chỉ_id" : [
    ID đối tượng( "52ffc4a5d85242602e000000" ),
    ID đối tượng( "52ffc4a5d85242602e000001" )
   ]
}

Trong ví dụ trên, trường address_ids của tài liệu người dùng chứa một mảng các ID đối tượng (ObjectId) của địa chỉ người dùng.

Chúng ta có thể đọc ID đối tượng (ObjectId) của các địa chỉ người dùng này để có được thông tin địa chỉ chi tiết của người dùng.

Phương pháp này yêu cầu hai truy vấn, truy vấn đầu tiên là truy vấn ID đối tượng (ObjectId) của địa chỉ người dùng và truy vấn thứ hai là lấy thông tin địa chỉ chi tiết của người dùng thông qua ID.

?
1
2
>var result = db.users.findOne({ "tên" : "Tom Benzamin" },{ "địa chỉ_id" :1})
>var địa chỉ = db.address.find({ "_nhận dạng" :{ "$trong" :kết quả[ "địa chỉ_id" ]}})

Trên đây là phần giới thiệu ngắn gọn về mối quan hệ MongoDB. Để biết thêm thông tin về mối quan hệ MongoDB, vui lòng theo dõi các bài viết liên quan khác của tôi! .

Liên kết gốc: https://www.runoob.com/mongodb/mongodb-relationships.html.

Cuối cùng, bài viết này về một cuộc thảo luận ngắn gọn về các mối quan hệ MongoDB kết thúc tại đây. Nếu bạn muốn biết thêm về một cuộc thảo luận ngắn gọn về các mối quan hệ MongoDB, vui lòng tìm kiếm các bài viết CFSDN hoặc tiếp tục duyệt các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .

30 4 0
qq735679552
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com