2014-12-20 12 views
0

문서에 액세스하여 결과를 콘솔에 가져 오려고합니다. Mongoose 디버그는 문서가 있지만 아직 빈 레코드를 반환한다는 것을 보여줍니다.mongodb에서 데이터를 가져올 수 없습니다.

//mongoose connect to db 
var db = mongoose.createConnection('mongodb://localhost/mean-dev1/', function(err) { 
      if (err) throw err; 
     }); 

db.once('open', function callback() { 

    var tripSchema = mongoose.Schema(  
     { title: String, 
     fromDate: Date, 
     tillDate: Date, 
     price: Number, 
     details: String, 
     availability: Number 
    }); 

    // Model definition 
    var TripObj = db.model('TripObj', tripSchema, 'tripmodel'); 

    TripObj.find(function(err, data) { 
     if (!err){ 
      console.log('%s', data); //gets undefined 
      console.log("written...", data); 
       }else{ 
       throw err; 
     process.exit(); 
      } 
     }); 

} 여기

및 콘솔 출력

입니다 ...

마이그레이션 : 버전에서 최신 003 몽구스 : tripmodel.find ({}) {필드 : {title : 1}}
은 정의되지 않았습니까? 서면 ... []

답변

0

내 개인 연결에 문제가 있음을 알았습니다. 그래서 코드가 조금 바뀌 었습니다.

//connects to mongoose datasource and populates the data.json file in app 
mongoose.disconnect(); 

mongoose.connect('mongodb://localhost/tripDB/', function(err) { 
      if (err) throw err; 
      }), 


Schema = mongoose.Schema 

var db = mongoose.connection; 

db.once('open', function callback() { 


    var tripSchema = mongoose.Schema(  
     { 
     availability: Number, 
     details: String, 
     fromDate: Date, 
     price: Number, 
     tillDate: Date, 
     title: {type:String, ref:'TripObj'} 
    }); 

    // Model definition 
    var TripObj = mongoose.model('TripObj', tripSchema, 'trips'); 


    TripObj.find(function(err, data) { 
     if (!err){ 
      var newdata = data; 
      //console.log('%s is undefined?', newdata); 
      fs.writeFileSync(path.join(__dirname, '../../../../' + 'content/themes/traveller/assets/js' + '/data.json'), JSON.stringify(newdata)); 
       console.log("written succesfully", data); 
       process.exit(); 
      }else{ 
       throw err; 
      } 
     }); 

});

관련 문제