2016-10-15 13 views
0

私のファイルのスキーマが作成され、以下のように呼び出されましたが、コメントにスキーマが登録されていないというエラーが表示されました。mongooseにスキーマを登録して呼び出す方法

私のスキーマ、

var mongoose = require('mongoose'), 
    path = require('path'), 
    config = require(path.resolve('./config/config')), 
    Schema = mongoose.Schema; 

var Commentsscheme = new Schema({ 
    articleid: { 
    type: Schema.ObjectId 
    }, 
    fromuser: { 
    type: String 
    }, 
    touser: { 
    type: String 
    }, 
    comment: { 
    type: String 
    } 
}); 

mongoose.model('comments', Commentsscheme); 

私のJS、

var path = require('path'), 
    mongoose = require('mongoose'), 
    passport = require('passport'), 
    Comments = mongoose.model('comments'); 

/* ------ Inserting a comment ------ */ 
exports.insertcomment = function (req, res) { 
    var comments = new Comments(req.body); 
    console.log(comments) 
    comments.status = 1; 
    var data = {}; 
    comments.save(function (err,resl) { 
    if (err) { 
     console.log(err); 
     return err; 
    } 
    data = { status: false, error_code: 0, message: 'Unable to insert' }; 
    if (resl) { 
     data = { status: true, error_code: 0,result: resl, message: 'Inserted successfully' }; 
    } 
     res.json(data); 
    }); 
}; 

は、私は私のファイルのスキーマを作成し、以下のようにそれを呼び出すが、それはスキーマがコメントに登録されていないというエラー言う.... ....いずれかが助けを提案してください........................

答えて

1

あなたのモデルを以下のようにエクスポートし、ルートファイルまたは呼び出し元ファイル

module.exports = mongoose.model( 'comments'、Commentsscheme);

ここでコメントを保存する必要があります。

+0

を次のようにjsの他のファイルにあなたは、このスキーマを使用しますまだエラーが続く............ – MMR

+0

更新されたコードを投稿してください。 – Sachin

+0

Sachin、 – MMR

1

上記の2つのコードが2つの異なるファイルと同じフォルダにあると仮定します。 と スキーマファイル名は

var mongoose = require('mongoose'), 
    path = require('path'), 
    config = require(path.resolve('./config/config')), 
    Schema = mongoose.Schema; 

var Commentsscheme = new Schema({ 
    articleid: { 
    type: Schema.ObjectId 
    }, 
    fromuser: { 
    type: String 
    }, 
    touser: { 
    type: String 
    }, 
    comment: { 
    type: String 
    } 
}); 

module.exports = mongoose.model('Comment', Commentsscheme); 

comment.jsあると

var path = require('path'), 
    mongoose = require('mongoose'), 
    passport = require('passport'), 
    // here you need to put the path/name of the file so that module will load. 
    Comments = require('comment.js'); 


/* ------ Inserting a comment ------ */ 
exports.insertcomment = function (req, res) { 
    var comments = new Comments(req.body); 
    console.log(comments) 
    comments.status = 1; 
    var data = {}; 
    comments.save(function (err,resl) { 
    if (err) { 
     console.log(err); 
     return err; 
    } 
    data = { status: false, error_code: 0, message: 'Unable to insert' }; 
    if (resl) { 
     data = { status: true, error_code: 0,result: resl, message: 'Inserted successfully' }; 
    } 
     res.json(data); 
    }); 
}; 
関連する問題