猫鼬没有找到价值
mongoose isn't finding the value
为什么密码正确时总是 return 无效凭据?
谢谢你!
const schema = mongoose.Schema({
pass: {
type: String,
required: true,
}
})
const password = mongoose.model('pass', schema)
mongo().then(async (mongoose) => {
const test = new password({
password: 'pass'
})
password.findOne({ password: passwordInput }, function (err, user) {
if (err) {
console.log(err);
}
else if (user) {
log('LOGGED IN!')
}
else {
log('Invalid creds');
}
});
})
您的代码存在一些问题
const schema = mongoose.Schema({
pass: { // <---- property name is pass not password
type: String,
required: true,
}
})
那么这里
const test = new password({
password: 'pass' // property name password not pass
})
同样上面的代码没有将密码保存到数据库中。您需要致电 save()
const test = new password({
password: 'pass' // property name password not pass
})
test.save();
即使这样它也不会工作,因为保存方法是异步的,这意味着它需要一些时间才能到达数据库。所以你需要做这样的事情
const test = new password({
password: 'pass'
})
test.save(function(){
// this function is called after the password was saved to db
// now you can query db
password.findOne({ pass.....
});
完整代码
const schema = mongoose.Schema({
password: {
type: String,
required: true,
}
})
const password = mongoose.model('password', schema)
mongo().then(async (mongoose) => {
const test = new password({
password: 'pass'
})
test.save(function(){
password.findOne({ password: passwordInput }, function (err, user) {
if (err) {
console.log(err);
} else if (user) {
log('LOGGED IN!')
} else {
log('Invalid creds');
}
});
});
})
为什么密码正确时总是 return 无效凭据? 谢谢你!
const schema = mongoose.Schema({
pass: {
type: String,
required: true,
}
})
const password = mongoose.model('pass', schema)
mongo().then(async (mongoose) => {
const test = new password({
password: 'pass'
})
password.findOne({ password: passwordInput }, function (err, user) {
if (err) {
console.log(err);
}
else if (user) {
log('LOGGED IN!')
}
else {
log('Invalid creds');
}
});
})
您的代码存在一些问题
const schema = mongoose.Schema({
pass: { // <---- property name is pass not password
type: String,
required: true,
}
})
那么这里
const test = new password({
password: 'pass' // property name password not pass
})
同样上面的代码没有将密码保存到数据库中。您需要致电 save()
const test = new password({
password: 'pass' // property name password not pass
})
test.save();
即使这样它也不会工作,因为保存方法是异步的,这意味着它需要一些时间才能到达数据库。所以你需要做这样的事情
const test = new password({
password: 'pass'
})
test.save(function(){
// this function is called after the password was saved to db
// now you can query db
password.findOne({ pass.....
});
完整代码
const schema = mongoose.Schema({
password: {
type: String,
required: true,
}
})
const password = mongoose.model('password', schema)
mongo().then(async (mongoose) => {
const test = new password({
password: 'pass'
})
test.save(function(){
password.findOne({ password: passwordInput }, function (err, user) {
if (err) {
console.log(err);
} else if (user) {
log('LOGGED IN!')
} else {
log('Invalid creds');
}
});
});
})