2017-01-22 7 views
-2

가 여기에 내가 Zone.js라는 파일에있어 무엇을 실행하지몽구스,

var mongoose = require('mongoose'); 
mongoose.set('debug', true); 

var zoneSchema = new mongoose.Schema({ 
    name: {type: String, required: true, default: '', required: true}, 
    timestamp: {type: Date, default: Date.now, required: true}, 
    zipCodes: {type: [String], default: [], required: true} 
}); 

module.exports = mongoose.model('Zone', zoneSchema); 

을 찾을 그리고 여기에 내가 zoneController.js라는 파일에있어 무엇

var Zone = require('../models/Zone'); 

module.exports = { 
    find: function(params, callback){ 
     console.log('Finding zone'); 
     Zone.find(params, function(err, zones){ 
      console.log('Got results'); 
      if (err){ 
       callback(err, null); 
       return; 
      } 
      callback(null, zones); 
     }); 
    } 
} 

그리고, 내가 가진,

ZoneController = require('../controllers/zoneController'); 
ZoneController.find({}, function(err, results){ 
      console.log('Zone results received'); 
} 

문제는 .find() 메소드는 나에게 아무 것도주지 않는다는 것입니다. 내 콘솔에서 'Finding Zone'을 얻지 만 그 이후에는 전혀 없습니다.

내 폴더 구조가 정확하며 올바른 파일을 참조하고 있습니다.

+0

'err' 매개 변수는 이유가 있습니다. 그것이 어떤 결과를 포함하고 있는지 확인하십시오. 그 외에 DB에 연결하고 있습니까? – qqilihq

+0

@qqhhq 예, 데이터베이스에 연결하고 있습니다. –

+0

@qqilihq find() 메서드가 실행되지 않기 때문에 오류가 발생했습니다. 로그에 기록 할 수 없습니다. –

답변

0

시도해보십시오. 컨트롤러에서 find 메서드를 반환해야한다고 생각합니다. 작동하는지 알려주세요.

module.exports = { 
    return { 
     find: function(params, callback) { 
      console.log('Finding zone'); 
      Zone.find(params, function(err, zones) { 
       console.log('Got results'); 
       if (err) { 
        callback(err, null); 
        return; 
       } 
       callback(null, zones); 
      }); 
     } 
    } 
} 
0

여기에 내 옛날 프로젝트 중 하나의 트윗 모델에 대한 .find 예입니다.

Tweet.find({}).sort({date: -1}).populate('_creator').exec((err, tweets) => { 
     res.render('tweet-all', {title: `All Tweets`, tweets: tweets}); 
}); 

Model에서 .exec()를 사용해야한다고 생각합니다.

+0

@HumanCyborgRelations가 내 답변을 통해 도움을 받았습니까? 그렇다면 투표하여 올바른 답으로 표시하십시오 :) – Codearts