2017-01-03 40 views
4

StackOverflow的人,我燃燒的問題,如何增加一個
Mongoose中的數值?我嘗試了下面的代碼,儘管它不起作用。我試圖在提交表單時將值增加1。以下是我的代碼:如何增加Mongoose中的數值?

app.post('/like', function (req, res) { 
    var id = req.body.id; 
    var query = {_id: id}; 
    var post = Meme.findOne(query); 
    Meme.findOneAndUpdate(post, post.likes: post.likes+1) 
}); 

非常感謝您的寶貴幫助!

+0

你可以嘗試這樣的事情'Meme.findOneAndUpdate(查詢,{$ INC:{「後。喜歡「:1}})'。未經測試。 – Veeram

+0

你是否在你的'post'變量中獲取數據?請輸入一個'console'語句並檢查數據是否到來。 –

+0

@Safal_R_Aryal你也可以參考這個問題的更多信息http://stackoverflow.com/questions/8621948/doing-inc-with-mongoose謝謝! –

回答

11

您可以使用$inc來達到此目的。

試試這個:

var id = req.body.id; 
Meme.findOneAndUpdate({_id :id}, {$inc : {'post.likes' : 1}}).exec(...); 

有關$ INC更多信息,請閱讀MongoDB $inc documentation