node.js + express + mongodb + mongooseを使用して、カスタムIDでデータベースからユーザーを取得しようとすると、ID値のデータ型が正しくないため、ページが完全に空に戻ります。コードの一部を次に示します。
var User = new Schema({
name: String ,
email: String ,
id: Number,
role: String
});
var userModel = mongoose.model('User', User);
var person = new userModel();
function loaduser(req, res, next) {
userModel.find({}, req.params.id, function(err, user){
if (user){
req.user = user;
console.log(user);
next();
}
})
console.log(typeof req.params.id);
};
//personal page route
app.get('/user/:id', loaduser, function(req, res){
res.render('show', { users: req.user });
});
そして、これはコンソールに返されます:
string
{ _id: 5012aa222c2d4d5876c5acd0,
email: 'alex@mail.com',
id: '0',
name: 'alex',
role: 'admin' },
id の型をNumberとして宣言しましたが、 Stringとして返されます。どんな提案も大歓迎です:)