2017-09-17 33 views
-7

我使用express,react和mysql。我想創建評論的喜歡/不喜歡的系統。我GOOGLE了它,大多數人建議在單擊後禁用按鈕。但我不想那樣。即使用戶刷新標籤或從其他設備訪問他的個人資料。當他再次看到該評論時,他應該看到他已經喜歡這個評論,他不應該再次喜歡它。我正在考慮在每個用戶的mysql數據庫中存儲所有喜歡和不喜歡的東西。它是否減少了對數據庫的查詢次數並影響性能?什麼是適當的解決方案?如何防止像「臉譜或youtube喜歡/不喜歡系統」多次評論的用戶?

+0

適當的解決方案確實是寫下他們已經「喜歡」的地方。否則,你怎麼能夠阻止他們再次喜歡? – deg

回答

0

如果要顯示喜歡/不喜歡帖子(或評論)的用戶,您必須爲每個喜歡/不喜歡的用戶插入一個新行以及user-id。關於多重問題,您必須檢查是否有與post請求相同的user-idcomment-id這一行,如果是這樣,請忽略該請求並告訴用戶某些東西比如「不能多於一次」,否則插入一個新行。

要考慮的另一件事是,當用戶喜歡評論並立即不喜歡它時,你打算做什麼?如果您發送實時通知,則目標會收到錯誤通知(即,如果您沒有解決此問題)。這是我沒有考慮過的事情,而且根本沒有辦法(但我確信有一個竅門)。

+0

我正在使用socket.io進行實時評論。我認爲我必須通過爲它們創建特定的事件來使用它,以便進行喜歡和不喜歡。在這種情況下,我認爲它會更快。對於直接點擊,我會在客戶端進行處理,以便用戶在他們喜歡或不喜歡時不會注意到任何事情。 –

+0

@MukhammadAli通過「我將在客戶端處理」,你是否說你只會在服務器端發送一個類似於如果用戶在幾秒鐘之後不相似的情況? – Taurus