我爲我的網站創建了一個註冊系統,該系統向註冊用戶發送確認電子郵件,其確認代碼是其帳號在貓鼬數據庫中的_id
。無法使用.update更新貓鼬屬性()
然後,回到我的網站,輸入自己的驗證碼,我想使用.update()
方法將confirmed
屬性的值從0
在數據庫中的用戶更改爲1
。
這裏是我的代碼:
router.post('/confirmAcc',function(req, res, next) {
var getid=req.body.confirmcode;
console.log(getid);
var requis = { "_id": getid };
User.update(requis, {confirmed: '1'}, function (err, doc){
console.log(doc);
if (err) throw err;
});
res.render('index', {title:'nDoto'});
});
的數據庫沒有問題相匹配的id
,但它不會更新現有的「confirmed
」屬性「1
」。
我不知道爲什麼。
此外,當我運行的代碼,並把我的確認代碼和功能運行時,控制檯寫道:
{ ok: 0, n: 0, nModified: 0 }
你是說如果你用上面的代碼中的查找代替更新,你會得到一個記錄? –
實際上你的評論只是解決了我的問題。我決定不使用更新,而我只是使用findOne()。然後我使用了'doc.credentials.confirmed =「1」',並更新了!謝謝! – dec0mpiled