我一直在使用基本登录应用程序中的代码,该应用程序使用节点,快递,猫鼬和护照。在定义我的模型的user.js文件中,我有以下内容:
var UserSchema = mongoose.Schema({
username: {
type: String,
index:true
},
password: {
type: String
},
email: {
type: String
},
name: {
type: String
}
});
var User = module.exports = mongoose.model('User', UserSchema);
module.exports.createUser = function(newUser, callback){
bcrypt.genSalt(10, function(err, salt) {
bcrypt.hash(newUser.password, salt, function(err, hash) {
newUser.password = hash;
newUser.save(callback);
});
});
}
module.exports.getUserByUsername = function(username, callback){
var query = {username: username};
User.findOne(query, callback);
}
module.exports.getUserById = function(id, callback){
User.findById(id, callback);
}
module.exports.getUsers = function(){
User.find();
}
module.exports.comparePassword = function(candidatePassword, hash, callback){
bcrypt.compare(candidatePassword, hash, function(err, isMatch) {
if(err) throw err;
callback(null, isMatch);
});
}
在本地运行时,我可以注册一个新用户并登录就可以了。登录后,我希望仪表板显示数据库中的所有用户。但是,它仅显示有关已登录用户的信息。
<ul>
{{#each user}}
<li>
{{this.name}}, {{this.email}}
</li>
{{/each}}
</ul>
我认为这与我定义模型和架构的方式有关,但我不知道如何解决。这是我的index.handlebars文件的代码:
下面是指向我的仓库的链接,以防问题与另一个文件有关: