2017-06-23 9 views
0

2つのオブジェクトの値をチェックしようとしていますが、mongooseが返すオブジェクトとpassport jsが返すオブジェクトの値を確認しようとしています。上記のコードでNodejsの比較に失敗しました。

app.get('/user-area', isLoggedIn, function(req, res){ 
    User.find({}, function(err, users){ 
     if(err) throw err; 

     res.render('admin/user-area/allUsers', { 
      user: req.user, 
      users: users, 
      logged_user: req.user._id 
     }); 
    }); 
}); 

、私はいくつかのデータをフィルタリングするための簡単な比較をやってるEJSファイルで、EJSファイルに値を解析しています。

私はif文を使用して、簡単な画面に印刷からのユーザーでログインしてフィルタリングしようとしている
<ul> 
    <%for(var i = 0; i < users.length; i++){%> 
     <%if(logged_user != users[i]._id){%> 
      <li><%=users[i].local.username%></li> 
     <%}%> 
    <%}%> 
</ul> 

文字列として画面上に印刷されたとき、彼らはまったく同じように見えるが、私はできない理由で彼らがif文で失敗することを確認してください。

答えて

1

私は、1つはObjectIdで、もう1つはStringなので、決して等しくないと考えています。

)(等号を使用したObjectIdを比較するために、この答えを参照してください:

https://stackoverflow.com/a/11638106/828573

関連する問題