模型适用于登录,但不适用于显示数据

时间:2018-07-17 01:28:06

标签: javascript node.js database mongodb mongoose

我一直在使用基本登录应用程序中的代码,该应用程序使用节点,快递,猫鼬和护照。在定义我的模型的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文件的代码:

下面是指向我的仓库的链接,以防问题与另一个文件有关:

https://github.com/tylerkadow/phi-beta-database

0 个答案:

没有答案