MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Các tài liệu con mongodb có tương đương với các bộ sưu tập con của Firestore không?

Một dự án có thể có bao nhiêu hoạt động? Nếu không có giới hạn thì tốt hơn hết bạn nên tạo một bộ sưu tập cấp gốc cho các hoạt động. Trong MongoDB, kích thước tài liệu BSON tối đa là 16 MB . Đó là bạn không thể lưu trữ tất cả các dự án và hoạt động của chúng trong một tài liệu duy nhất (tài liệu tổ chức).

Tôi sẽ tạo 3 bộ sưu tập cụ thể là - tổ chức, dự án và hoạt động.

  1. Mỗi tổ chức nên có một tài liệu trong các tổ chức bộ sưu tập tương tự như bộ sưu tập bạn có trong Firestore.
  2. Mỗi dự án phải có một tài liệu trong các dự án bộ sưu tập có chứa trường "organizationID" để bạn có thể truy vấn các dự án của một tổ chức cụ thể bằng cách sử dụng ID của họ. Điều này tương đương với một tài liệu trong bộ sưu tập phụ dự án của bạn. Mỗi dự án cũng phải có ID duy nhất của riêng dự án đó.
  3. Mỗi hoạt động phải có một tài liệu trong các hoạt động tập hợp chứa trường "projectID" để có thể truy xuất các hoạt động của một dự án cụ thể.

Tôi đã thêm organizationID bổ sung đó , projectID các trường ngay cả khi bạn có _id chỉ trong trường hợp bạn muốn có ID tài liệu Firestore ở đó để có các truy vấn song song dễ dàng hơn.

Bạn không phải lo lắng về 16 MB Giới hạn kích thước tài liệu theo cách này và sẽ dễ dàng hơn khi truy vấn cả dự án và hoạt động miễn là bạn có đúng ID.

Truy vấn các hoạt động của một dự án nhất định:

await db.collection("activities").find({projectID: "myProjectID"}).toArray()

Sau đó, việc bạn muốn viết truy vấn với phép chiếu, tổng hợp, v.v. tùy thuộc vào bạn như thế nào.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Spring Data MongoDB có hỗ trợ tính năng đối chiếu MongoDB 3.4 không?

  2. Tìm kiếm toàn văn trong MongoDB với trình điều khiển haskell

  3. MongoDB findOne ()

  4. Không thể kết nối với máy chủ mongodb từ xa

  5. Lỗi MongoDB:Không thể sử dụng ghi có thể thử lại với giới hạn =0