Mongoose在本地显示.find()但在放到远程服务器时不显示#34; MongoLab"

时间:2014-07-03 17:22:57

标签: node.js angularjs mongodb mongoose mean-stack

我正在研究MEAN堆栈课程,并且遇到了障碍。 我希望那里的某个人能够指导我的代码可能出错。

我在本地(在远程MongoLab上)有一个包含{message:'some text'}的集合'messages'的MongoDB。 当我在它们上执行db.messages.find()时它们本质上是相同的。但是,只能在本地mongod服务器上运行。

代码最肯定是看到了这个集合,因为我最初在集合中不小心输入了消息(而不是消息)并且它抛出了一个错误。当我纠正时没有抛出任何错误但是当我拉页时我不再显示查找。

以下是代码,可能阻止远程版本的消息显示find()结果的任何想法?

   var express = require('express'),
    stylus = require('stylus'),
    morgan = require('morgan'),
    bodyParser = require('body-parser'),
    mongoose = require('mongoose');

var env = process.env.NODE_ENV = process.env.NODE_ENV || 'development';

var app = express();

function compile(str, path){
    return stylus(str).set('filename', path)
}

app.set('views', __dirname + '/server/views');
app.set('view engine', 'jade');
app.use(morgan('dev'));
app.use(bodyParser());

app.use(stylus.middleware(
    {
        src: __dirname + '/public',
        compile: compile
    }
));
app.use(express.static(__dirname + '/public'));

//mongoose.connect('mongodb://localhost/multivision');
//mongoose.connect('mongodb://login:password:53139/mvision');
mongoose.connect('mongodb://login:password@kahana.mongohq.com:10068/multivision');
var db = mongoose.connection;
db.on('error', console.error.bind(console, ' connection error..'));
db.once('open', function callback() {
    console.log('multivision db opened');
});

var messageSchema = mongoose.Schema({message: String});
var Message = mongoose.model('Message', messageSchema);
var mongoMessage;
Message.find().exec(function(err, messageDoc){
    mongoMessage = messageDoc.message;
});

app.get('/partials/:partialPath', function(req, res){
    res.render('partials/' + req.params.partialPath);
});

app.get('*', function(req,res){
    res.render('index', {
        mongoMessage: mongoMessage
    });
});

var port = process.env.PORT || 3030;
app.listen(port);
console.log('Listening on port: ' + port);

我注意到的唯一的东西似乎与我习惯的不同,而我在视频中没有看到的是当我插入到收藏中时我收到了消息;无法使用命令写入模式,降级为兼容模式。但是,从控制台中查找显示消息。

set-53864e952712560278002d23:PRIMARY> show collections
messages
system.indexes
system.users
set-53864e952712560278002d23:PRIMARY> db.messages.insert({message: "hello mongo3
"})
Cannot use commands write mode, degrading to compatability mode
WriteResult({ "nInserted" : 1 })
set-53864e952712560278002d23:PRIMARY> db.messages.find()
{ "_id" : ObjectId("53b586a399abc5fe42a2e96e"), "message" : "hello mongo3" }

0 个答案:

没有答案