2017-07-29 4 views
0

最近プロジェクトで作業していましたが、選択したIDを検索してデータベースを検索して更新する必要がありますが、何らかの理由で「できません未定義のプロパティ「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> 

を選択することが想定され、私の.ejsファイルは、オブジェクトを選択し、index.jsファイルのための私のコードです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() 
}); 
}); 
0123それがエラーを返し、どのように私はそれを解決することができますなぜ

そして、ここでは、私は私のデータベース

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'); 
      } 
     } 
    ); 
}); 

を更新するためのIDを使用していますどのように誰もが知っていますか?

答えて

0

デフォルトでは、IDはidでなく、_idと定義されています。そのアンダースコアを追加してみてください。

+0

@ C.Amiraniさん、ありがとうございました。私もserver.jsファイルでbody-parserを使用するのを忘れていました。 –

関連する問題