2017-07-29 57 views
0

我一直在研究一個項目,它需要我通過查找所選內容的id來查找和更新我的數據庫,但由於某種原因,它給了我一個錯誤「can not讀未定義」節點錯誤:無法讀取屬性undefined

這裏屬性「ID」是用戶想選擇去按鈕

<h1><%=term%></h1> 
<article> 
<% for(var i = 0; i < bars.length; i++){ %> 
<section> 
<div class="bars"> 
    <p class="names"><a href = <%=bars[i].url%>><%= bars[i].name %></a></p></br> 
    <div class="image"><img src=<%=bars[i].image_url%> width="150px"></img></div></br> 
    <a id="<%= bars[i].id %>" class="going btn btn-primary"><%=bars[i].totalAttending%> Going</a></br> 
    <%= bars[i].location.address1 %></br> 
    <%= bars[i].rating %></br> //user is suppose to select here 
</div> 
</section> 
<%}%> 
</article> 

這裏是我的,其選擇的對象和index.js文件中的代碼我.ejs文件返回ID

$(document).ready(() => { 
$('.going').click(function() { 
    $.ajax({ 
     type: "POST", 
     url: '/auth/github', 
     data: { 
      id: $(this).attr('id') 
     }, 
     success: function (data) { 

      if (data === 'done') { 
       location.reload(); 
      } else { 
       alert(data) 
      } 
     } 
    }); 
}); 

$(' input[type="submit"]').click(function(){ 
    localStorage.lastSearch = $('input[type="text"]').val() 
}); 
}); 

這裏是我如何使用ID來更新我的數據庫

router.post('/', (req, res) => { 
    //First check to see if user is attending that bar, if so decrement 
    Venue.findOneAndUpdate({ 
     id: req.data.id, 
     totalAttending: 1, 
     usersAttending: req.user.username || req.user.displayName 
    }, 
     { $set: { 'totalAttending': 0 } }, 
     { new: true }, 
     (err, venue) => { 
      if (err) throw err; 
      if (!venue) { 
       Venue.findOneAndUpdate({ id: req.data.id }, 
        { $inc: { 'totalAttending': 1 }, $addToSet: { 'usersAttending': req.user.username || req.user.displayName } }, 
        { new: true }, 
        (err, venue) => { 
         if (err) throw err; 
         res.send('done'); 
        }); 
      } else { 
       res.send('done'); 
      } 
     } 
    ); 
}); 

有誰知道爲什麼它會返回錯誤,我怎麼能解決呢?

回答

0

默認情況下,id被定義爲_id而不僅僅是id。嘗試添加下劃線。

+0

非常感謝,@ C.Amirani,原來我也忘了在我的server.js文件中使用body-parser,現在一切正常。 –

相關問題