2016-05-09 42 views
0

我使用Mongoose作爲我的ODM,並且在實現我想要的功能時遇到了一些麻煩。如何管理每個用戶獨有的長陣列?

我有一個用戶集合,我的每個用戶都應該有一個「清單」,這是每個人都一樣,例如:

{ egg: false, 
water: false, 
wine: false } 

而對於這個列表中的每個條目,用戶可以設置是真是假,無論他們是否有條目。

最終名單應該有大約1000個條目。 (對於用戶而言條目全部相同,只有值(真/假)改變)

由於這是一個非常大的數字,我不知道如何管理它。

我想到了一些解決方案,但他們每個人似乎並沒有真正有效的:

  • 加入我的UserSchema內的「列表」陣列,包含每個條目的名稱和值用戶會設置。 (這將是相當大的)

  • 創建一個ListSchema,其中我將設置所有條目的名稱,然後將其鏈接到每個用戶,但我看不到這些值可能是唯一的用戶..

如果有人知道如何做到這一點,我會非常感謝!

+0

如果「真」條目的數量很少,則可以爲每位用戶在單個文檔中存儲該用戶的列表條目副本,同時爲所有條目保留一個單獨的集合。如果你想更關係 - 使用關係數據庫。 –

+0

感謝您的快速回答,用戶網站的主要目標是嘗試獲取所有條目,以便讓所有內容都變爲「真實」,所以不會有少數條目。 – Willy

回答

0

您可以將所有可用的entries轉換爲單獨的集合並使用One-to-Many與用戶收藏的關係。查看this頁面以獲取關於MongoDB中文檔引用的更多信息。