Mongoose回调问题

时间:2015-09-08 18:24:34

标签: node.js mongodb mongoose

我正在使用mongoosejs在我的数据库中插入数据。我试图添加save()回调单独的例子: 新的ModelName.save(saveData)而不是以常规方式添加它。 new ModelName.save(function(err,model){...}

         var express = require('express');
          var router = express.Router();

        var mongoose = require('mongoose');
        var userDetail = mongoose.model('user_details');

        //not working
        router.post('/', resgisterUser);

        function resgisterUser(req, res) {
            new userDetail({
                    fullName: req.body.fullName,
                    email: req.body.email,
                    contactNumber: req.body.contactNumber,
                    password: req.body.password
                })
                .save(saveUserDetails);
        }

        function saveUserDetails(err, newUser) {
            console.log(newUser)
            res.writeHead(200);
            res.end();
        }

       //working code

    function resgisterUser(req, res) {
        new userDetail({
                fullName: req.body.fullName,
                email: req.body.email,
                contactNumber: req.body.contactNumber,
                password: req.body.password
            })
            .save(function (err, newUser) {
                console.log(newUser)
                res.writeHead(200);
                res.end();
            });
    }

`

1 个答案:

答案 0 :(得分:0)

尝试将saveUserDetails功能移到registerUser功能之上。在JavaScript(实际上是任何语言)中,在定义函数之前使用函数被认为是不好的做法。在那个节点上,我还将你的registerUser函数放在路由声明之上。