我正在尝试在 Amazon EC2 Linux 服务器上使用 Mongoose 连接到 MongoDB。
这是我的代码:
var mongoose = require('mongoose');
console.log("Attempting antyhing to do with mongoose"); //shown
var db = mongoose.connection;
db.on('error',console.error.bind(console,'db connection error:')); //not shown
db.once('open',function(){
console.log("Successful connection to db!"); //not shown
});
mongoose.connect('mongodb://localhost:27017/local',function(err){
console.log("some kinda connection made"); //not shown
if(err)
{
console.log("err: "+err);
}
});
令人沮丧的是,我没有从 Mongoose 那里得到任何错误,但似乎什么也没有出现。
似乎有很多关于 mongoose 和 mongo 没有回调的问题。
以下是我看过的一些我认为对我来说不是问题的夫妇:
- 快速收听回调: Mongoose Connection我 将我的 db.on('open'... 调用移动到我的连接调用之前,以防万一 比赛条件。
- Mongo 正在运行吗? Mongoose connect method fails on simple Node Server. Express, Mongoose, Path 是的,在 27017 端口上
另外作为引用,我正在关注本教程:https://scotch.io/tutorials/build-a-restful-api-using-node-and-express-4
我正在做的一件让我担心的事情是我已将我的代码拆分为多个文件。所以这个 Mongoose 连接代码是从 app/models/host.js(或教程中的 Bear.js)文件中调用的。让我知道发布其他文件是否会有所帮助。
最佳答案
我也遇到了同样的问题。
检查您使用的 Mongoose 版本是否支持 MongoDb 服务器版本
在此链接上检查兼容性:http://mongoosejs.com/docs/compatibility.html
相应地更改 package.json 文件中 Mongoose 的版本。
希望这会有所帮助!
关于node.js - Mongoose 从不连接到 mongodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39428744/