簡體   English   中英

如何在 NoSQL 數據庫中設計這種一對多模式?

[英]How to design this one-to-many schema in a NoSQL database?

我這周才開始學習 MongoDB。 在此之前,我只熟悉SQL,所以我需要一些時間來轉換我的邏輯。

我在這里有一個關於一對多關系的簡單問題。

假設我有一本書要出租,我想記錄出租歷史。 我應該使用哪種模式?

方案A:創建一個文檔,以BookId為參考,保存所有的租借歷史。

方案B:創建多個文檔,以BookId為參考。 每次借書時,我都會為它創建一個文檔。

哪個計划更好? 我想B計划更好,但我不確定。

http://docs.mongodb.org/manual/core/data-modeling/對如何構建你的集合有很好的建議。

您的任何一種方案都可以工作,但是如果每本書的租借次數非常多,您必須使用計划 B,因為文檔具有最大尺寸。

您還可以混合使用計划 A 和 B,例如,使用計划 B 但也將最近租借的有限數組與書一起存儲,以便您可以通過一次訪問數據庫來滿足初始查詢,但如果用戶隨后向下滾動以查看更多你開始獲取租賃記錄。

您通常可以像在 SQL 中那樣思考它,然后在需要提高性能時添加一些非規范化。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM