2016-05-02 20 views
5

Tôi mới làm quen với mongodb, tôi chỉ có một bộ sưu tập gọi là "cửa hàng", ở đây "công ty" có nhiều "cửa hàng", nên tôi làm công ty làm bàn riêng biệt và tham khảo bảng "cửa hàng" hoặc dưới đây là ok?Cách lý tưởng để tạo tham chiếu bộ sưu tập trong mongodb là gì?

{ 
    "_id" : ObjectId("yyyyyyyyyyyyyyyyy"), 
    "type" : "Feature", 
    "properties" : { 
     "name" : "aa", 
     "address" : "bb", 
     "company" : "AAA" 
    }, 
    "geometry" : { 
     "type" : "Point", 
     "coordinates" : [ 
      yyyy, 
      xxxx 
     ] 
    } 
} 

Cách lý tưởng để gọi tham chiếu công ty ở mongodb là gì?

Trả lời

1

Với MongoDB, bạn có thể nhúng dữ liệu liên quan vào một cấu trúc hoặc tài liệu đơn lẻ hoặc bạn có thể lưu trữ theo cách được chuẩn hóa. Nó được dựa trên yêu cầu.

Dưới đây là từ MongoDB tài liệu

Nói chung, sử dụng nhúng mô hình dữ liệu khi:

  1. bạn đã “chứa” các mối quan hệ giữa các thực thể. Xem các mối quan hệ One-to-One Model với các tài liệu nhúng.
  2. bạn có mối quan hệ một-nhiều giữa các thực thể. Trong các mối quan hệ này, các tài liệu “nhiều” hoặc trẻ em luôn xuất hiện hoặc được xem là trong ngữ cảnh “một” hoặc tài liệu gốc. Xem Mô hình Mối quan hệ một-nhiều với Tài liệu được nhúng.

Nói chung, sử dụng bình thường hóa mô hình dữ liệu:

  1. khi nhúng sẽ cho kết quả trùng lặp dữ liệu nhưng sẽ không cung cấp đủ ưu điểm hiệu suất đọc để lớn hơn tác động của sự trùng lặp.
  2. để thể hiện mối quan hệ nhiều-nhiều hơn phức tạp.
  3. để lập mô hình tập dữ liệu phân cấp lớn.

Thông tin chi tiết có thể được tìm thấy cho herehere

SOF answer này có thể giúp bạn là tốt.

Trong trường hợp của bạn, nếu mối quan hệ giữa các cửa hàng và công ty là một-nhiều thì sử dụng cấu trúc được nhúng.

Các vấn đề liên quan