【发布时间】:2018-06-30 15:06:10
【问题描述】:
我一直在尝试使用 mongojs 包连接到我的本地 mongodb,但它根本没有连接。我的 mongo 服务在 http://127.0.0.1:27017/ 上运行,下面是我的代码:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var mongo= require('mongojs');
var db=mongo('catalog',['products']);
app.use(bodyParser.json);
//adding our first route name
db.on('connect', function () {
console.log('database connected')
})
app.get('/',function(req,res){
res.send('It Worked');
});
app.get('/products',(req,res)=>{
db.products.find(function (err,docs) {
if (err) {
res.json(err)
}else{
res.json(docs)
}
})
});
如果连接已建立但没有显示任何内容,我已将连接事件设置为日志。如果它根本不起作用,我可以使用 mongoose 或其他一些包吗?
【问题讨论】:
-
mongo 只是一个变量,除了我像你说的那样改变了它,但它仍然没有连接
-
是的,我的错。您的数据库密码保护不正确吗?
-
不,它没有任何密码。是否有任何东西阻塞了我的快速服务器上连接到数据库的通道?我的意思是我可以轻松地在终端上输入 mongo,它会连接到 db 并进行交互,但这里会出现问题
-
mongojs 不会触发
connect function,直到您向集合发出第一个请求。我尝试过这个。向您的收藏提出请求,on('connect')将触发。或者在您的情况下,在浏览器中转到/products,您可以在终端中看到database connected登录。 -
哦,你是对的。最后一天它连接了 10 分钟,然后发生了同样的问题。这可能是问题所在。没有更好的方法来请求而不是浏览器。很抱歉问了这么多,但是您对浏览器的要求是什么,我使用了localhost:27017/catalog 甚至localhost:27017 并且无法访问。它很奇怪,最后一天相同的地址会给我一些 mongo http 访问错误,但现在它甚至没有加载在页面上
标签: node.js mongodb express mongojs