【问题标题】:Nodejs - Mongoose - callbacks work only onceNodejs - Mongoose - 回调只工作一次
【发布时间】:2018-02-21 23:04:38
【问题描述】:

我正在处理回调,它会进行第一次调用 (POST),然后再也不工作了。我无法在邮递员中收到任何响应错误。 这是模式模式:

var mongoose = require('mongoose'); 
mongoose.Promise = require('bluebird'); 
var ModalitySchema = new mongoose.Schema({   
    name: {
    type: String,
    unique: true,
    required: true
  },
  type: {
    type: String,
    required: true
  },
    updated_at: { type: Date, default: Date.now },
  created_at: { type: Date, default: Date.now }
});

这是控制器中的调用:

var mongoose = require('mongoose');
var Modality = require('../models/modality').Modality;

/** create function to create Modality. */
exports.create = function (req, res) {
Modality =new Modality({name:req.body.name,type: req.body.type});  
Modality.save( function(err, result) {
        if (!err) {
            return res.json(result);
        } else {
          console.log(err);

            return res.send(err); // 500 error
        }
    });
};

和节点的外部:

【问题讨论】:

    标签: node.js mongoose callback


    【解决方案1】:

    服务器遇到错误。你的模型被错误地导出了,正确的方式:

    var Modality = require('../models/modality').model('Modality').schema

    【讨论】:

      【解决方案2】:

      我太盲目了,我觉得花这么长时间是愚蠢的,我保存了错误的模式:

      Modality =new Modality({name:req.body.name,type: req.body.type});  
      Modality.save( function(err, result) {....}
      

      事实上它必须是

      modality =new Modality({name:req.body.name,type: req.body.type});  
      modality.save( function(err, result) {....}
      

      【讨论】:

        猜你喜欢
        • 2016-05-27
        • 2016-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多