无法从mongodb获取数据

时间:2014-12-20 06:10:29

标签: mongodb mongoose

我正在尝试访问文档并将结果输出到控制台。 Mongoose调试显示有一个文档,但返回一个空记录。

 //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的最新版本 Mongoose:tripmodel.find({}){fields:{title:1}}
 未定义? 写的...... []

1 个答案:

答案 0 :(得分: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;
            }
        });

});

相关问题