0

私は完全な node.js 初心者であり、懸念事項を適切に分離してアプリケーションを構築する最善の方法を見つけようとしています。

私はmongoose経由でmongodbを使用しており、node.jsモジュールを使用してコントローラーを分離することに成功し、モデルを分離しようとしています。私が行ったことはうまくいっているように見えますが、データベースをチェックしても何も保存されていません。console.log()また、保存機能を試しましたが、何もログに記録されません。

私のserver.jsから:

app.post(api.urlslug + '/messages', messagesapi.insert);

次に、/controllers/api/messages.js を作成します。

var m = require('../../models/message');

exports.index = function(req, res, next){
    res.send('all the messages...');
}

exports.insert = function(req, res, next){
    var message;
    message = new m.Message({
        messagebody: req.body.messagebody
    });
    message.save(function(err) {
        console.log('here we are in the save');
        if(!err) {
            return console.log('message created');
        } else {
            return console.log(err);
        }
    });
    return res.send(message);
}

私の /models/message.js は次のようになります。

// required modules
var mongoose = require('mongoose')
    , db = require('../models/db');

// setup database connection
mongoose.connect(db.connectionstring());

var Message = exports.Message = mongoose.model('Message', new mongoose.Schema({
    messagebody: String
}));

API に投稿すると、適切な JSON が返され、mongodb が提供する一意の ID として表示される _id フィールドさえあります。それで、オブジェクトを作成してmongodbと正しく通信しているように見える場合、実際にmongodbに入らない理由を理解するのに苦労しています。

4

1 に答える 1

0

接続が確立されていないようです。デフォルトのマングース接続のオープン/エラー イベントをリッスンして理由を調べてみてください。

function log (msg) { console.log('connection: ', msg) }
mongoose.connection.on('open', log);
mongoose.connection.on('error', log);
于 2012-06-15T20:06:48.527 に答える