架构错误意味着app

时间:2016-11-22 14:55:55

标签: javascript angularjs mongodb

我有架构问题。我在api中没有得到正确的架构。这是我的api:

var Meetup = require('./models/meetup');

    module.exports.create = function (req, res) {
      var meetup = new Meetup(req.body);
      meetup.save(function (err, result) {
        console.log(result);
        res.json(result);
      });
    }

    module.exports.list = function (req, res) {
      Meetup.find({}, function (err, results) {
        res.json(results);
      });
    }

console.log显示{__v:0,_id:58343483ff23ad0c40895a00},同时显示{__v:0,名称:'文字输入',_ id:58343076b80874142848f26e}

这是我的模特:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var Meetup = new Schema({
  name: String,

});


module.exports = mongoose.model('Meetup', Meetup);

1 个答案:

答案 0 :(得分:0)

如果req.body未定义(正如您在评论中所写),则显然new Meetup(req.body);无法使用任何数据填充新对象(例如{name:' Text input'}或其他任何事情)因为用undefined作为参数调用它。

确保使用body-parser,并在请求中传递了正确的数据。

另外,检查错误。采用err参数的每个回调都应采用以下形式:

module.exports.list = function (req, res) {
  Meetup.find({}, function (err, results) {
    if (err) {
      // handle error
    } else {
      // handle success
    }
  });
}

如何跟踪问题:

  • 确保使用后端的body-parser
  • 确保您在前端传递正确的数据
  • 确保您的前端传递的数据位于正确的位置(正文)
  • 确保数据格式正确(JSON?URL编码?)
  • console.log(req.body)之后添加new Meetup(req.body);以了解您保存的内容
  • 在浏览器的开发者控制台中打开“网络”标签,查看已转移的内容