2013-08-04 49 views
0

我是新来的猫鼬,我很难在我的代码中找到问题。我正在使用Sails.js和Mongoose构建一个REST服务器。我有一个节点模块(如“帆 - 猫鼬”)导出猫鼬,在这里我也连接到我的数据库:猫鼬保存回调不会触发

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集合,但回调永远不会到达。有人可以帮助我在这条赛道上,因为我发现了类似的问题,但没有人帮助我。谢谢!

+0

只是一个供参考:https://twitter.com/ktkaushik/status/380592073482588160 – ktkaushik

回答

0

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

正确的格式:

res.json(code, data) 

例子:

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

我解决了这个问题。我的代码中有一个错误,我用一个错误的参数调用save方法。原始问题的版本是正确的。另外,问题在于res.json(数据,代码)从未达到过。原始问题的res.json版本也是正确的。谢谢 – eAbi