Описание
Я использую Model.findOne().exec()
в соответствии с документом mongoose, в моем mongodb { username: ycjcl666 }
, когда я findOne({ username: 'ycjcl666' })
, он может выводить данные, но я запрашиваю не существующие данные, такие как findOne({ username: 'ycjcl888' })
, приложение застряло.
Приложение
использует koa@2 + mongoose@^5.0.18 + mongodb@3.6.3
для создания приложения для входа / регистрации.
код контроллера:
// controller/user.js
class UserController {
async login(ctx) {
const password = await UserService.loginPass(username);
}
}
код servcie, как этот, но он застрял, когда не существует, я try...catch
, но не получить console
info
// service/user.js
class UserService {
async loginPass() {
return User.findOne({ username }).exec();
}
}
// model/user.js
import mongoose from 'mongoose';
import timeZone from 'mongoose-timezone';
const Schema = mongoose.Schema;
const schema = new Schema({
model: {
id: String,
name: String,
},
avatar: String,
username: {
type: String,
required: true,
trim: true,
},
password: {
type: String,
required: true,
},
count: {
type: Number,
default: 0,
},
updated_at: {
type: Date,
default: Date.now,
},
created_at: {
type: Date,
default: Date.now,
},
}, {
// remove __v
versionKey: false,
timestamps: {
createdAt: 'created_at',
updatedAt: 'updated_at',
},
});
schema.index({ username: 1 }, { unique: true });
schema.index({
updated_at: -1,
});
schema.plugin(timeZone);
export default mongoose.model('User', schema);
Скриншот