2013-08-04 151 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