Mongodb Cloud9和MongoLab
我已经建立了CLOLD9帐户和MONGULAB帐户。我填写了一些项目,如下所示: 所以一切都很好。Mongo实验室中也显示了这一点: 问题是当我打电话时: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
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);
});