Tôi đã xem xét hầu hết các bài viết thiết kế sơ đồ mongodb trên trang web của mongo và hầu hết các câu hỏi ở đây trên SO. Vẫn còn một trường hợp sử dụng mà tôi đã không tìm ra. Khi xem các hướng dẫn này, họ thường tham khảo bài viết bình luận về vấn đề và các vấn đề về sản phẩm/loại. Tôi muốn tìm hiểu làm thế nào để mô hình một đến nhiều mối quan hệ (tác giả bài viết) khi truy vấn một danh sách các bài viết. Dưới đây là các lược đồ mẫu:Cách thiết kế lược đồ cho mô hình tác giả/người dùng trong mongodb
Users: {
_id: ObjectID
Name: String
Email: String
}
Posts: {
_id: ObjectID
user_id: ObjectID
body: String
comments: [
body: String
]
}
Bây giờ, giả sử bạn muốn chạy truy vấn cho 10 bài đăng mới nhất. Một truy vấn khá đơn giản, nhưng bây giờ bạn có các bài viết với khả năng của mỗi người có một ObjectID duy nhất trỏ đến người dùng. Bây giờ, làm thế nào bạn nên thực hiện nhận được tên và email của mỗi người dùng cho một bài đăng.
bạn nên tạo một mảng của người sử dụng của ObjectId từ truy vấn viết và sau đó chạy db.users.find truy vấn ({_id: {$ trong: PostsUserIDArray}}); Sau đó, bạn sẽ sử dụng logic ứng dụng của mình để khớp đúng thông tin người dùng với bài đăng chính xác?
Nếu bạn giữ bản sao dữ liệu trong bài đăng. I E. giữ ID người dùng, tên và email trong bảng bài đăng. Sau đó, chỉ cần có một cái móc khi người dùng cập nhật thông tin này để cập nhật tất cả thông tin trong bài đăng.
Một tùy chọn mà bản thân tôi hoặc bạn tôi chưa từng nghĩ tới.
Tôi đánh giá cao tất cả trợ giúp khi tôi cố gắng quấn đầu quanh mô hình dữ liệu mongo.
Cảm ơn, bạn có liên kết đến bất kỳ video nào trong số những video đó không đúng cơ hội không? Tôi rất muốn xem một nơi họ nói về điều này. – rickharrison
Tôi đã cập nhật bài đăng của mình bằng một trong các video. – TrexXx
Có thể bạn nên xem xét bài viết này http://blog.mongodb.org/post/87200945828/6-rules-of-thumb-for-mongodb-schema-design-part-1 – olyjosh