Mongoose保存回调不会触发

时间:2013-08-04 01:47:45

标签: node.js mongoose sails.js

我是mongoose的新手,我很难在代码中找到问题。我正在使用Sails.js和Mongoose构建REST服务器。我有一个用于导出mongoose的节点模块(例如“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集合中,但永远不会到达回调。有人可以帮助我在这条赛道上,因为我发现了类似的问题,但没有人帮助我。谢谢!

1 个答案:

答案 0 :(得分:0)

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

格式正确:

res.json(code, data)

示例:

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