我剛開始使用MongoDB,我很困惑用list屬性來構建對象模型。 我有一個與關注者和關注對象相關的用戶模型,它們是用戶標識列表。 所以我可以考慮一些對象模型結構來表示關係。帶有列表屬性的MongoDB對象模型設計
嵌入式文檔。關注者和關注被嵌入到用戶模型中。通過這種方式,每個請求中的許多Web框架中都會生成一個「current_user」對象,並且由於我們很少在大多數請求中使用這些屬性,所以它是串行化/反序列化Follower和Follow列表屬性的額外開銷。當「current_user」生成時,我們可以排除這些屬性。但是,我們需要在完成任何更新之前再次獲取完整的「current_user」對象。
在用戶模型中使用參考屬性。我們可以自己擁有關注者和關注對象模型,而不是嵌入對象,但保存對用戶對象的引用。
在關注者和以下模型中使用參考屬性。我們可以將用戶ID保存在Follower和以下屬性中以供稍後查詢。
可能有其他一些方法可以做到這一點,更易於使用或更好的性能。而我的問題是:
什麼建議的方式來設計與相關列表屬性的模型?