我试图了解MongoDB的工作原理。 我使用以下集合创建了一个本地MongoDB:
db.user.find().pretty()
{
"_id" : ObjectId("5a05844833a9b3552ce5cfec"),
"firstname" : "Emanuel",
"lastname" : "Mars",
"username" : "mae",
"email" : "myEmail@email.ch",
"passwort" : "mae",
"role" : 1
}
现在我想用express连接到这个DB。 连接有效,但我没有得到任何数据。 这是我创建的模型:
var userSchema = new mongoose.Schema({
firstname: { type: String },
lastname: { type: String },
username: { type: String },
email: { type: String },
passwort: { type: String },
role: { type: Number }
}, { collection : 'user' });
module.exports = mongoose.model('user', userSchema);
这就是我想让收集用户中的所有用户:
var User = require('../../models/user');
User.find({}, function (err, user) {
console.log('yes', user);
});
最后,它应该处理来自MongoDB的用户的登录过程。
解决: 我忘了在连接URL的末尾添加数据库名称。
答案 0 :(得分:0)
const mongoose = require('mongoose');
const bcrypt = require('bcrypt-nodejs');
var userSchema = new mongoose.Schema({
firstname: { type: String },
lastname: { type: String },
username: { type: String },
email: { type: String },
passwort: { type: String },
role: { type: Number }
}, { collection : 'user' });
userSchema.methods.generateHash = function(password) {
return bcrypt.hashSync(password, bcrypt.genSaltSync(8), null);
};
userSchema.methods.validPassword = function(password) {
return bcrypt.compareSync(password, this.local.password);
};
module.exports = mongoose.model('user', userSchema);
// user.js的
var calledonetime = false;
$(function(){
if(calledonetime === false)
{
calledonetime = true;
$('html').css("overflow","hidden");
}else
{
$('html').css("overflow","scroll");
$('html').css("overflow-x","hidden");
}
});