2017-02-24 57 views
0

我正在使用meteor,angularJS和mongodb開發一個Web應用程序。我正在創建一個消息功能,允許用戶向視頻添加評論。直到現在,我只實現了創建和顯示消息到我的視圖。用戶可以創建消息,然後將其保存到mongo數據庫,並在加載頁面時進行檢索。如何將主鍵存儲在前端對象中MongoDB

但是,現在我想添加刪除消息的功能。截至目前,我只是從數據庫檢索評論字符串,並顯示在ng-repeat指令中。我希望能夠點擊顯示的消息(使用前端的按鈕),並從UI和數據庫中刪除它們。現在,我有代碼來檢索消息存儲在前端的對象,並從視圖中刪除它。

但是,我沒有辦法在數據庫中獲取此消息的主鍵。因此,該消息永遠不會從數據庫中刪除,並且會在頁面重新加載時重新出現。

我不太瞭解安全性或mongo db,那麼,在前端存儲/檢索主鍵最安全的方法是什麼?目標是能夠點擊DOM中的消息,將其從DOM中刪除,並擁有主鍵,以便它也可以從數據庫中刪除。

+0

那麼,你打算在前端存儲密鑰......有什麼目的?你實際上打算做什麼?你在這裏談論一些不同的事情。你準確的問題是什麼? – lealceldeiro

+0

對不起,如果不清楚。基本上,當我在前端點擊它時,我不知道如何獲得消息的主鍵。因此,我不知道如何從數據庫中刪除它 –

+0

如果您發佈了迄今爲止所做的一些代碼,我可以更好地指出您正確的方向。到目前爲止,我可以推薦你:從後端加載兩個值(至少),文本(或任何你所說的)和評論ID。然後實現一個調用服務(後端)的函數(前端),該服務刪除給定其id的註釋(同時,當服務回調返回ok時,從後端刪除註釋)。當頁面再次加載時,評論將不存在。 – lealceldeiro

回答

1

我從來沒有用過角,所以我不知道它究竟是如何處理這個問題,但在大火只要您使用{{#each}}this上下文是從您的數據庫每次重複對象是唯一的。

所以大火,如果您遍歷對象(評論)的陣列,在您的評論的模板,你分配一個事件偵聽器delete按鈕調用使用this._id作爲主鍵的meteor method。然後,當您單擊刪除按鈕時,它會將該對象的ID傳遞給該方法。這就是數據庫如何知道要刪除哪個對象。

Angular將有一個類似的系統。 Here's a link to the Meteor Angular tutorial他們從ng-repeat塊中刪除項目。它應該有所幫助!

+1

這正是我所期待的,謝謝! –

+0

不客氣! – Sean