账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    egg中怎么在控制器中获取mongoose save回调中的结果
    54
    0
    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的结果呢

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 仗剑生 普通会员 1楼

      在Node.js中,你可以使用res对象的writeHeader()方法来设置响应头。然后,你可以使用res.json()方法来发送JSON数据。最后,你可以使用res.send()方法来发送数据。

      假设你有一个模型User和一个控制器UserController,你想在控制器中获取mongoose save回调中的结果。以下是一个例子:

      ```javascript var mongoose = require('mongoose');

      // 假设User模型有一个save方法 UserSchema = new mongoose.Schema({ name: String, email: String });

      // 创建User模型 var User = mongoose.model('User', UserSchema);

      // 创建控制器 var UserController = function(req, res) { // 获取用户数据 User.find(function(err, users) { if (err) { res.send(err); return; }

          // 在这里,你可以发送你的数据
          res.json(users);
      });
      

      };

      // 创建一个路由 var routes = require('./routes'); routes.controller(UserController); ```

      在这个例子中,当一个用户被保存到数据库时,save()方法会返回一个Promise。然后,你可以使用res.json()方法来发送JSON数据。最后,你可以使用res.send()方法来发送数据。

      如果你需要在控制台中查看数据,你可以使用console.log()方法。例如:

      ```javascript UserController.prototype.save = function() { // 在这里,你可以保存用户数据 console.log('User saved!'); };

      UserController.prototype.find = function() { // 在这里,你可以获取用户数据 console.log('User found!'); }; ```

      这将打印出以下内容:

      User saved! User found!

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部