2016-01-17 8 views
0

Здравствуйте, я определил схему и добавил модель в мангуст:использование Mongoose определения модели в другой папке

APPNAME/модель/Particiapnt.js;

var mongoose = require('mongoose'); 
var Schema = mongoose.Schema; 

var participantSchema= new Schema({ 
    createdAt: { type: Date, default: Date.now }, 

}); 

var Participant = mongoose.model('Participant', participantSchema, 'participants'); 

module.exports = Participant; 

APPNAME/маршруты/api.js

var express = require('express'); 
var Participant = require('./models/Participant'); ---- Line of failure! ---- 
var router = express.Router(); 

router.get('/all', function(req, res) { 
    Participant.find().execFind(function (arr,data) { 
     res.send(data); 
    }); 
}); 

module.exports = router; 

В разделе api.js, когда я пытаюсь создать свой экземпляр модели я не могу, так как я получаю это:

Error: Cannot find module './models/Participant' 
    at Function.Module._resolveFilename (module.js:325:15) 
    at Function.Module._load (module.js:276:25) 
    at Module.require (module.js:353:17) 
    at require (internal/module.js:12:17) 
    at Object.<anonymous> (/Users/../appName/routes/api.js:2: 

19)

Что я делаю неправильно ... любая помощь приветствуется, Спасибо

+1

Это должно быть «../models/Participant». Обратите внимание, что в вашем коде вы ищете файл в том же файле, но на самом деле он находится на верхнем уровне –

+1

, сделав его ответом, чтобы я мог его принять –

ответ

2

Вместо этого вы должны поставить «../models/Participant». В вашем коде вы ищете его в том же каталоге, но на самом деле он находится в верхнем.