Nút js mongodb một đến nhiều
MongoDB - Ví dụ về mối quan hệ một-nhiều Mongoose
Để biết thêm chi tiết, vui lòng truy cập Show
Thiết lập dự án
Chạy Trong cơ sở dữ liệu RDBMS như SQL Server, mối quan hệ giữa các bảng có thể là một đối một, một đối nhiều và nhiều đối nhiều Trong MongoDB, các mối quan hệ một-một, một-nhiều và nhiều-nhiều có thể được triển khai theo hai cách
Triển khai quan hệ bằng cách sử dụng tài liệu nhúngBạn có thể bao gồm dữ liệu liên quan dưới dạng tài liệu được nhúng. Ví dụ: bạn có thể bao gồm địa chỉ dưới dạng tài liệu nhúng, như minh họa bên dưới Thí dụ. Mối quan hệ sử dụng tài liệu nhúng Sao chép
Thực hiện quan hệ sử dụng ReferenceMột cách khác để thực hiện các quan hệ là sử dụng tham chiếu trường khóa chính của các tài liệu của một bộ sưu tập khác Ví dụ: tạo bộ sưu tập 1 và sử dụng 2 làm tài liệu tham khảo của tài liệu trong bộ sưu tập 3Thí dụ. Triển khai quan hệ một đối một bằng tham chiếu Sao chép
Trong ví dụ trên, mối quan hệ giữa bộ sưu tập 3 và 1 được triển khai bằng cách sử dụng id tham chiếu. Một tài liệu trong bộ sưu tập 3 chứa trường 1 có giá trị của một 2 hiện có trong bộ sưu tập 1. Nó tạo thành quan hệ một đối mộtGhi chú. Bạn có thể tham chiếu bất kỳ trường nào cho quan hệ, nhưng nên sử dụng trường khóa chính duy nhất để tránh lỗi Bạn có thể truy xuất dữ liệu liên quan theo hai bước. Sau đây lấy địa chỉ của một nhân viên Thí dụ. Tìm tài liệu liên quan Sao chép
Trong ví dụ trên, lấy trường 4 cho một nhân viên rồi tìm tài liệu địa chỉ bằng cách sử dụngaddrIdSử dụng giai đoạn quy trình tổng hợp $lookup để tìm dữ liệu liên quan từ bộ sưu tập, như minh họa bên dưới Chúng ta đều biết rằng mongodb không phải là một cơ sở dữ liệu quan hệ, nhưng nếu muốn, chúng ta có thể tạo tất cả các mối quan hệ ở cấp độ mô hình như một mô-đun tôi đã sử dụng cung cấp cùng một mô-đun. e Rest-Hapi. Bạn có thể tạo tất cả các mối quan hệ như một-một, một-nhiều, nhiều-một và nhiều-nhiều bằng cách xác định chúng trong mô hình. Như bạn đã xác định, nó sẽ tự động chèn dữ liệu vào db theo mối quan hệ bạn đã xác định. Giống như nếu bạn đã xác định quan hệ một-một thì nó sẽ tự động chèn _id vào cả hai mô hình khi bạn nhấn bất kỳ API nào liên quan đến chúng. Đối với hiệp hội một-một. - Trường lược đồ là bắt buộc đối với các liên kết loại ONE_TO_ONE, MANY_ONE. Trường này khớp với tên liên kết bao gồm loại ObjectId và cũng bao gồm thuộc tính ref có trong tên kiểu máy được liên kết. Ví dụ như bạn có thể xác định liên kết một-một như. - Đây là người mẫu cư trú của tôi module.exports = function(mongoose) { var modelName = "occupant"; var Types = mongoose.Schema.Types; var Schema = new mongoose.Schema({ phone: { type: Types.String }, webAddress: { type: Types.String }, user: { type: Types.ObjectId, ref: "user" } }) Schema.statics = { collectionName: modelName, routeOptions: { alias: "Occupant", associations: { user: { type: "ONE_ONE", model: "user" } // other models association } } } Và trong mô hình Người dùng, nó trông giống như. - module.exports = function(mongoose) { var modelName = "user"; var Types = mongoose.Schema.Types; var Schema = new mongoose.Schema({ isActive: { type: Types.Boolean, default: true }, password: { type: Types.String, required: true, exclude: true, allowOnUpdate: false }, occupant: { type: Types.ObjectId, ref: "occupant" }, }) Schema.statics = { collectionName: modelName, routeOptions: { associations: { occupant: { type: "ONE_ONE", model: "occupant" } // other models association } } } Cho MANY_TO_ONE HOẶC ONE-TO_MANY. - Tôi có một người dùng mô hình và tòa nhà. Nhiều người dùng có một tòa nhà và một tòa nhà có thể có nhiều người dùng. Vì vậy, trong mô hình Người dùng. - ________số 8 và hiệp hội trông giống như. - building: { type: "MANY_ONE", alias: "building", model: "building" }, Trong Hiệp hội mô hình xây dựng. - 0Vì vậy, với thao tác đơn giản, nó cũng tạo ra một số điểm cuối khác. - GET /building/{ownerId}/user Nhận tất cả người dùng cho một tòa nhà POST /building/{ownerId}/user Thêm nhiều người dùng vào một tòa nhà DELETE /building/{ownerId}/user Xóa nhiều người dùng khỏi danh sách tòa nhà Ghi chú. Đối với Many_Many, vui lòng xem blog tiếp theo của tôi. Liên kết mô hình MANY_MANY trong nodejs mongodb bằng cách sử dụng Rest-Hapi Làm cách nào bạn có thể triển khai 1 đến nhiều mối quan hệ trong MongoDB?Trong MongoDB, quan hệ một-một, một-nhiều và nhiều-nhiều có thể được triển khai theo hai cách. . Sử dụng tài liệu nhúng Sử dụng tài liệu tham khảo của bộ sưu tập khác MongoDB có tốt cho nút JS không?Có thể xử lý nhiều loại dữ liệu và lượng dữ liệu khổng lồ . Nó cung cấp một Nút MongoDB. js cung cấp API JavaScript và triển khai giao thức mạng cần thiết để đọc và ghi từ cơ sở dữ liệu MongoDB cục bộ hoặc từ xa. Tất cả những gì bạn phải làm là cài đặt gói NPM -mongodb trong Mã ứng dụng của mình.
MongoDB có thể tạo nhiều mô hình khôngMối quan hệ nhiều-nhiều (N. M)
. Điều này cũng đúng khi sử dụng mongoDB để triển khai chúng. Trên thực tế, bạn không thể sử dụng lệnh để tạo bất kỳ loại mối quan hệ nào trong MongoDB .
Điều gì có nghĩa là bởi mộtMột-Nhiều (1. N) Cái 1. Mối quan hệ N mô tả mối quan hệ mà một bên có thể có nhiều hơn một mối quan hệ trong khi mối quan hệ ngược lại chỉ có thể là một bên. Một ví dụ là một Blog trong đó một blog có thể có nhiều Bình luận nhưng một Bình luận chỉ liên quan đến một Blog duy nhất |