Mongodb Cloud9和MongoLab

Mongodb Cloud9和MongoLab,mongodb,cloud9-ide,mlab,Mongodb,Cloud9 Ide,Mlab,我已经建立了CLOLD9帐户和MONGULAB帐户。我填写了一些项目,如下所示: 所以一切都很好。Mongo实验室中也显示了这一点: 问题是当我打电话时: var db = mongoose.createConnection(MONGO.connectionString(), MONGO.options); // When successfully connected db.on('connected', function () { console.log('Mongoose

我已经建立了CLOLD9帐户和MONGULAB帐户。我填写了一些项目,如下所示:

所以一切都很好。Mongo实验室中也显示了这一点:

问题是当我打电话时:

var db = mongoose.createConnection(MONGO.connectionString(), MONGO.options);


// When successfully connected
db.on('connected', function () {  
   console.log('Mongoose default connection');
   console.log(mongoose.connection);
   require('./SchemaMovie');
});
这让我感到:

{ base: 
   { connections: [ [Circular], [Object] ],
     plugins: [],
     models: {},
     modelSchemas: {},
     options: { pluralization: true } },
  collections: {},
  models: {},
  config: { autoIndex: true },
  replica: false,
  hosts: null,
  host: null,
  port: null,
  user: null,
  pass: null,
  name: null,
  options: null,
  otherDbs: [],
  _readyState: 0,
  _closeCalled: false,
  _hasOpened: false,
  _listening: false }

你知道为什么我没有在那里看收藏电影吗(收藏:{})?我跳过了什么吗?

从OP的评论中发布:

修正模型应写为:

var mongoose = require('mongoose');

var movieSchema = new mongoose.Schema({
    title:  String,
    titleURL: String,
    description:   String,
    folder:   String,
    year:  Number,
    duration:  Number,
    video720p:  String,
    trailer:  String,
    poster:  String,
    language:  String,
    dateAdded: { type: Date, default: Date.now },
    genres: [String],
    imdb: {
        rating: Number,
        src: String
    }
}, { collection : 'Movie' });

movieSchema.statics.listMovies = function (type, count, limit, cb) {
     return this.model('Movie').find({}, cb);
}

var Movie = mongoose.connection.model('Movie', movieSchema);
module.exports = Movie;
基石似乎是这样的:

, { collection : 'Movie' }
此外,似乎应该在连接打开时添加模型,并且仅为该mongoose连接设置模型。所以我需要改变:

var db=mongoose.createConnection(MONGO.connectionString(),MONGO.options)

还是在模型中做

var db = mongoose.createConnection(MONGO.connectionString(), MONGO.options);
....
var Movie = db.model('Movie', movieSchema);
module.exports = Movie;
所以我结束了这段代码:

mongoose.connect(MONGO.connectionString(), MONGO.options);

mongoose.connection.once('open', function callback () {
    console.log('open');
    var Movie = require('./SchemaMovie');
    var query = Movie.find({});
    query.exec(function (err, movie) {
        if (err) {
            console.log(err);
            return null;
        }
         console.log(movie);
    });
});

mongoose.connection.on('error', function(err) {
    console.error('MongoDB error: %s', err);
});
作为连接

由于我无法发布答案(出于某种原因),我花时间写了一个答案,说明我是如何让它工作的:
mongoose.connect(MONGO.connectionString(), MONGO.options);

mongoose.connection.once('open', function callback () {
    console.log('open');
    var Movie = require('./SchemaMovie');
    var query = Movie.find({});
    query.exec(function (err, movie) {
        if (err) {
            console.log(err);
            return null;
        }
         console.log(movie);
    });
});

mongoose.connection.on('error', function(err) {
    console.error('MongoDB error: %s', err);
});