Hướng dẫn how do you create a relationship between two tables in mongodb? - làm thế nào để bạn tạo mối quan hệ giữa hai bảng trong mongodb?

Tài liệu về nhà → Hướng dẫn sử dụng MongoDBMongoDB Manual

Mô hình các mối quan hệ một-một với các tài liệu nhúng có mô hình dữ liệu sử dụng các tài liệu nhúng để mô tả các mối quan hệ một-một giữa dữ liệu được kết nối. Mối quan hệ trực tiếp giữa dữ liệu được kết nối. Modelel Mối quan hệ một-nhiều với tài liệu tham khảo Một mô hình dữ liệu sử dụng các tài liệu tham khảo để mô tả các mối quan hệ một-nhiều giữa các tài liệu.

Sử dụng các chức năng mô hình Mongoose để tạo tài liệu ..

  1. Các tài liệu được tham chiếu ..
  2. Các tùy chọn mối quan hệ khác nhau có sẵn trong MongoDB là gì?

Các loại mối quan hệ MongoDB. In this model, the documents are embedded inside one document. For example, we have two documents one is a student(which contains the basic information of the student like id, name branch) and another is an address document(which contains the address of the student). So, instead of creating two different documents, we embed the address documents inside the student document. It will help the user to retrieve the data using a single query rather than writing a bunch of queries.

Mối quan hệ nhúng. Nói một cách đơn giản, khi chúng tôi cố gắng nhúng một tài liệu BSON, nó được gọi là các mối quan hệ nhúng trong MongoDB với bất kỳ tài liệu nào khác. ....In this model, we maintain the documents separately but one document contains the reference of the other documents. For example, we have two documents one is a student(which contains the basic information of the student like id, name branch) and another is an address document(which contains the address of the student). So, here student document contains the reference to the address document’s id field. Now using this reference id we can query the address and get the address of the student. This model is generally used to design the normalized relationships.

Tài liệu được tham chiếu các mối quan hệ. ....

Nhiều mối quan hệ. ....

Đường ống tổng hợp ..

// Student document
{
    StudentName: GeeksA,
    StudentId: g_f_g_1209,
    Branch:CSE
}

// Address document
{
    StudentName: GeeksA,
    PremanentAddress: XXXXXXX,
    City: Delhi,
    PinCode:202333
}

Bây giờ, nếu dữ liệu địa chỉ được sử dụng thường xuyên, người dùng sẽ truy xuất dữ liệu của tài liệu địa chỉ bằng cách tạo một truy vấn bằng tên sinh viên nhưng ở đây hai tài liệu chứa cùng một trường (tức là, studentName) để người dùng cần viết thêm một vài truy vấn để truy xuất thông tin cần thiết. Quá trình lấy dữ liệu này là cồng kềnh. Vì vậy, chúng tôi đã nhúng tài liệu địa chỉ trong tài liệu sinh viên. & NBSP;

{
    StudentName: GeeksA,
    StudentId: g_f_g_1209,
    Branch:CSE
    PermanentAddress:{
        PremanentAddress: XXXXXXX,
        City: Delhi,
        PinCode:202333
    } 
}

Bây giờ, chúng tôi chỉ phải viết một truy vấn duy nhất để truy xuất dữ liệu cần thiết. Ưu điểm của việc sử dụng các tài liệu nhúng là chúng tôi có thể nhóm các thông tin cần thiết và có thể giữ nó trong một tài liệu duy nhất. Vì vậy, nó dễ dàng hơn để có được các chi tiết trong một cuộc gọi chính nó. Nhưng khi tài liệu bắt đầu phát triển, ví dụ, thêm thông tin học tập, thông tin điền kinh vào tài liệu trên, nó sẽ trở nên dài hơn và mất nhiều thời gian hơn để lấy chi tiết. Chỉ khi được yêu cầu, chúng ta có thể cần phải có thông tin học tập hoặc thể thao, và do đó trong các kịch bản đó, chúng ta có thể cần phải chia nhỏ tài liệu và có thể tìm một mẫu tập hợp con. Trong mẫu tập hợp con, chúng tôi chia số lượng lớn thông tin thành các khối nhỏ để chúng tôi có thể dễ dàng truy xuất dữ liệu. Bởi vì tổng dữ liệu lớn làm chậm hoạt động đọc. & nbsp; Nhưng mẫu tập hợp con cũng có một nhược điểm là chia dữ liệu của bạn thành nhiều bộ sưu tập nhỏ, phần bảo trì cơ sở dữ liệu rất khó khăn và theo dõi dữ liệu cũng sẽ trở thành rắc rối.subset pattern. In the Subset pattern, we break the large sum of information into small chunks so that we can easily retrieve data. Because the large sum of data slows down the read operation.  But subset pattern has also a drawback that is splitting your data into many small collections, the database maintenance part is difficult, and tracking for the data will also become a hassle.

Example:

Ở đây, chúng tôi đang làm việc với:

Cơ sở dữ liệu: GFG gfg

Bộ sưu tập: Sinh viên student

Tài liệu: Một tài liệu chứa các chi tiết của một học sinh One document that contains the details of a student

Hướng dẫn how do you create a relationship between two tables in mongodb? - làm thế nào để bạn tạo mối quan hệ giữa hai bảng trong mongodb?

Bây giờ chúng tôi sẽ hiển thị địa chỉ của học sinh

db.student.find({StudentName:"GeeksA"},{"PermanentAddress.permaAddress":1}).pretty()

Hướng dẫn how do you create a relationship between two tables in mongodb? - làm thế nào để bạn tạo mối quan hệ giữa hai bảng trong mongodb?

Mối quan hệ một-nhiều với các tài liệu nhúng

Sử dụng các tài liệu nhúng, chúng tôi có thể tạo mối quan hệ một-nhiều giữa dữ liệu để chúng tôi có thể dễ dàng truy xuất dữ liệu bằng một vài thao tác đọc. Bây giờ chúng tôi sẽ thảo luận về mối quan hệ một-nhiều với các tài liệu nhúng với sự trợ giúp của một ví dụ. Đôi khi, có khả năng của một người chứa nhiều địa chỉ như có một địa chỉ hiện tại (nơi anh ấy/cô ấy ở) và địa chỉ dân cư (nơi anh ấy/cô ấy có nhà riêng hoặc địa chỉ thường trú). Trong thời gian đó, một đến nhiều khả năng mối quan hệ xảy ra. Vì vậy, chúng ta có thể sử dụng một mô hình tài liệu nhúng để lưu trữ địa chỉ vĩnh viễn và hiện tại trong một tài liệu duy nhất

// Student document
{
    StudentName: GeeksA,
    StudentId: g_f_g_1209,
    Branch:CSE
}

// Permanent Address document
{
    StudentName: GeeksA,
    PermanentAddress: XXXXXXX,
    City: Delhi,
    PinCode:202333
}

// Current Address document
{
    StudentName: GeeksA,
    CurrentAddress: XXXXXXX,
    City: Mumbai,
    PinCode:334509
}

Bây giờ thay vì viết ba tài liệu, chúng tôi có thể nhúng chúng vào một tài liệu duy nhất.

// Student document
{
    StudentName: GeeksA,
    StudentId: g_f_g_1209,
    Branch:CSE
    Address: [
    {
        StudentName: GeeksA,
        PermanentAddress: XXXXXXX,
        City: Delhi,
        PinCode:202333
    },
    {
        StudentName: GeeksA,
        CurrentAddress: XXXXXXX,
        City: Mumbai,
        PinCode:334509
    }
    ]
}

Khi chúng tôi giữ tất cả dữ liệu (ngay cả khi có nhiều hơn 2 loại thông tin địa chỉ, chúng tôi có thể giữ chúng trong một mảng JSON) trong một bộ sưu tập duy nhất, chúng tôi có thể truy vấn trong một cuộc gọi và nhận toàn bộ bộ dữ liệu, dẫn Để có được toàn bộ thông tin và không có tổn thất xảy ra.

Example:

Ở đây, chúng tôi đang làm việc với:

Cơ sở dữ liệu: GFG gfg

Bộ sưu tập: Sinh viên student

Tài liệu: Một tài liệu chứa các chi tiết của một học sinh One document that contains the details of a student

Hướng dẫn how do you create a relationship between two tables in mongodb? - làm thế nào để bạn tạo mối quan hệ giữa hai bảng trong mongodb?

Bây giờ chúng tôi sẽ hiển thị địa chỉ của học sinh

db.student.find({StudentName:"GeeksA"},
                {"Address.permaAddress":1,
                 "Address.currAddress":1}).pretty()

Hướng dẫn how do you create a relationship between two tables in mongodb? - làm thế nào để bạn tạo mối quan hệ giữa hai bảng trong mongodb?

Mối quan hệ một-nhiều với các tài liệu nhúng

Sử dụng các tài liệu nhúng, chúng tôi có thể tạo mối quan hệ một-nhiều giữa dữ liệu để chúng tôi có thể dễ dàng truy xuất dữ liệu bằng một vài thao tác đọc. Bây giờ chúng tôi sẽ thảo luận về mối quan hệ một-nhiều với các tài liệu nhúng với sự trợ giúp của một ví dụ. Đôi khi, có khả năng của một người chứa nhiều địa chỉ như có một địa chỉ hiện tại (nơi anh ấy/cô ấy ở) và địa chỉ dân cư (nơi anh ấy/cô ấy có nhà riêng hoặc địa chỉ thường trú). Trong thời gian đó, một đến nhiều khả năng mối quan hệ xảy ra. Vì vậy, chúng ta có thể sử dụng một mô hình tài liệu nhúng để lưu trữ địa chỉ vĩnh viễn và hiện tại trong một tài liệu duy nhất

Bây giờ thay vì viết ba tài liệu, chúng tôi có thể nhúng chúng vào một tài liệu duy nhất.

// Teacher document
{
    teacherName: Sunita,
    TeacherId: g_f_g_1209,
}

// Class 1 document
{
    TeacherId: g_f_g_1209,
    ClassName: GeeksA,
    ClassId: C_123
    Studentcount: 23,
    Subject: "Science",
}

// Class 2 document
{
    TeacherId: g_f_g_1209,
    ClassId: C_234
    ClassName: GeeksB,
    Studentcount: 33,
    Subject: "Maths",
}

Khi chúng tôi giữ tất cả dữ liệu (ngay cả khi có nhiều hơn 2 loại thông tin địa chỉ, chúng tôi có thể giữ chúng trong một mảng JSON) trong một bộ sưu tập duy nhất, chúng tôi có thể truy vấn trong một cuộc gọi và nhận toàn bộ bộ dữ liệu, dẫn Để có được toàn bộ thông tin và không có tổn thất xảy ra.

// Teacher document
{
    teacherName: Sunita,
    TeacherId: g_f_g_1209,
    classIds: [
    C_123,
    C_234
    ]
}

Bây giờ chúng tôi sẽ hiển thị tất cả các địa chỉ của học sinh

Example:

Ở đây, chúng tôi đang làm việc với:

Cơ sở dữ liệu: GFG gfg

Bộ sưu tập: Sinh viên teacher

Tài liệu: Một tài liệu chứa các chi tiết của một học sinh three document that contains the details of the classes

Hướng dẫn how do you create a relationship between two tables in mongodb? - làm thế nào để bạn tạo mối quan hệ giữa hai bảng trong mongodb?

Bây giờ chúng tôi sẽ hiển thị địa chỉ của học sinh

db.teacher.findOne({name:"Sunita"}, {classId:1})

Hướng dẫn how do you create a relationship between two tables in mongodb? - làm thế nào để bạn tạo mối quan hệ giữa hai bảng trong mongodb?

Bạn có thể tạo mối quan hệ trong MongoDB không?

MongoDB là cơ sở dữ liệu tài liệu và không duy trì mối quan hệ giữa các tài liệu như cơ sở dữ liệu quan hệ như PostgreSQL. Tuy nhiên, MongoDB cho phép bạn tạo mối quan hệ giữa các tài liệu. Các mối quan hệ này có thể được mô hình hóa thông qua các phương pháp nhúng hoặc tham chiếu.MongoDB allows you to create relationships between documents. These relationships can either be modeled through embedded or referenced approaches.

MongoDB có hỗ trợ các bảng quan hệ không?

MongoDB là một hệ thống quản lý cơ sở dữ liệu nguồn mở, đa nền tảng và không quan hệ.Được phát triển vào năm 2009 bởi MongoDB Inc, MongoDB sử dụng mô hình cơ sở dữ liệu định hướng tài liệu để nhóm dữ liệu thành các tài liệu và bộ sưu tập thay vì bảng.Non-Relational Database Management System. Developed in 2009 by MongoDB Inc, MongoDB uses the document-oriented Database Model to group data into documents and collections rather than tables.

Làm thế nào để tôi tạo ra nhiều mối quan hệ với nhiều mối quan hệ ở MongoDB?

Mô hình các mối quan hệ nhiều đến nhiều trong MongoDB..
Các mô hình dữ liệu nhúng (denqualization).
Mô hình dữ liệu tham chiếu (bình thường hóa).
Nút thiết lập.Ứng dụng JS ..
Xác định mô hình dữ liệu Mongoose ..
Sử dụng các chức năng mô hình Mongoose để tạo tài liệu ..
Các tài liệu được tham chiếu ..

Các tùy chọn mối quan hệ khác nhau có sẵn trong MongoDB là gì?

Các loại mối quan hệ MongoDB..
Mối quan hệ nhúng.Nói một cách đơn giản, khi chúng tôi cố gắng nhúng một tài liệu BSON, nó được gọi là các mối quan hệ nhúng trong MongoDB với bất kỳ tài liệu nào khác.....
Tài liệu được tham chiếu các mối quan hệ.....
Nhiều mối quan hệ.....
Đường ống tổng hợp ..