2013-08-04 3 views
0

Я новичок в mongoose, и мне сложно найти проблему в моем коде. Я создаю сервер REST с помощью Sails.js и Mongoose. У меня есть модуль с узлом (например, «паруса-мангуст») для экспорта мангуста, где я также подключиться к базе данных:Mongoose save callback не срабатывает

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); 
    }); 
} 

При запуске создать метод, запись сохраняется в коллекцию MongoDB, но обратный вызов никогда не достигается. Может кто-то, пожалуйста, помогите мне на этом треке, поскольку я нашел похожие вопросы, но никто мне не помог. Благодаря!

+0

Просто FYI: https://twitter.com/ktkaushik/status/380592073482588160 – ktkaushik

ответ

0

Я полагаю, что вы используете Экспресс. Согласно Экспресс-документам вы вызываете res.json, используя неправильные параметры (неправильный порядок).

Правильный формат:

res.json(code, data) 

Пример:

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

Я решил эту проблему. В моем коде произошла ошибка, когда я вызывал метод save с неправильными параметрами. Однако версия из исходного вопроса правильная. Кроме того, проблема заключалась в том, что res.json (data, code) так и не был достигнут. И верна и версия res.json из исходного вопроса. благодаря – eAbi