【问题标题】:Mongoose save callback doesn't fire猫鼬保存回调不会触发
【发布时间】:2013-08-05 00:43:55
【问题描述】:

我是 mongoose 的新手,我很难在我的代码中找到问题。我正在使用 Sails.js 和 Mongoose 构建一个 REST 服务器。我有一个用于导出猫鼬的节点模块(例如“sails-mongoose”),我还连接到我的数据库:

var mongoose = require('mongoose');
mongoose.connect('mongodb://@localhost:27017/fooria');
module.exports = mongoose;

在我的 model.js 中:

var adapter = require('sails-mongoose');
var schema = new adapter.Schema({
    firstname: {
        type: String,
        required: true,
        trim: true
    }
});
module.exports = {
    schema: schema,
    model: adapter.model('Collection', schema)
}

在我的控制器的创建方法中,我有:

create: function(req, res, next) {
    var userData = {firstname: 'Test'};
    var users = new Users.model(userData);
    users.save(function(err, data){   
       if (err) return res.json(err, 400);
       res.json(data, 201);
   });
}

运行 create 方法时,该条目被保存到 Mongodb 集合中,但从未到达回调。有人可以在这条赛道上帮助我吗,因为我发现了类似的问题,但没有一个对我有帮助。谢谢!

【问题讨论】:

标签: node.js mongoose sails.js


【解决方案1】:

我想您正在使用 Express。根据 Express 文档,您使用不正确的参数(错误的顺序)调用 res.json。

正确的格式:

res.json(code, data)

例子:

res.json(500, { error: 'message' })

【讨论】:

  • 我解决了这个问题。我的代码中有一个错误,我使用错误的参数调用了 save 方法。原始问题的版本是正确的。此外,问题是 res.json(data, code) 从未到达。原始问题中 res.json 的版本也是正确的。谢谢
猜你喜欢
  • 2015-10-08
  • 1970-01-01
  • 2018-06-09
  • 2018-08-19
  • 2015-05-14
  • 1970-01-01
  • 2018-09-24
  • 2014-11-16
  • 2016-05-05
相关资源
最近更新 更多