egg中怎么在控制器中获取mongoose save回调中的结果

新手上路,请多包涵
import { Controller} from 'egg';
export default class Login extends Controller{
    public async login(){
        const {ctx}=this;
        ctx.body= await ctx.service.login.login("admin","admin");
    };
    public async register(){
        const {ctx}=this;
        let {username,password}=ctx.query;
        console.log(username);
        ctx.body= await ctx.service.register.register(username,password);
    };
}

    public async register(name: String, psw: String) {
        mongoose.connect('mongodb://localhost/egg');
        let loginData = mongoose.Schema({
            username: String,
            password: String
        })
        let loginModel = mongoose.model('loginModel', loginData);
        var data = new loginModel({ username: name, password: psw });
        data.save(function(err){
            if(!err){
                return "注册成功"
            }
        });
        return "注册成功"
        
    }

egg中使用原生mongoose而不是用egg-monogoose 怎么让Controller能够获取到服务中异步的save回调return的结果呢

阅读 2k
1 个回答

这个问题也困扰了我一段时间
可以这样写:
var data = new loginModel({ username: name, password: psw });
data.save();
ctx.body = data ;
data就是写入的结果,ctx.body = data 就可以返回到前端

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题