2017-09-05 86 views
0

它是貝蒂,如果我存儲一個集合下的所有用戶的通知:如何設計架構通知MongoDB的

{ 
id_: Object, 
type: String, // post or message 
ref_id: Number, // post id or message id 
owner: Number, 
read: Boolean, 
created_at: Date 
} 

// when I get notification for a single user 
db.notifications.find({"owner": user_id, "read": {$ne: true}}) 

如果你有一個例子,請給我一些建議或某些環節研究。

謝謝。

回答

0

是的,它肯定是建議將通知存儲在自己的表中。這有助於保持數據庫清潔並將蘋果與同伴分離。因此,您的表可能看起來像這樣

Notification 
{ 
    id: int; 
    sender: ForeignKey to user; 
    receiver: ForeignKey to user; 
    type: string; // or preferable ForeignKey to another table, in which you store possible types (see normalization of database) 
    content: string; 
    is_read: boolean; 
    created_at: Date; 
} 
+0

是的,我們應該有發送者和接收者領域 感謝您的建議兄弟:) – user3418903

+0

什麼是首選的方式,如果我有多個外鍵? 'type:string; //或者可選的ForeignKey指向另一個表,在其中存儲可能的類型(請參閱數據庫標準化) – Xyroid