我使用 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。欢迎任何建议:)