我正在研究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" }