Node.js 无法使用monk连接到远程服务器上托管的mongodb
我使用的是NodeJS,对于后端,我使用的是mongodb 对于连接到数据库,如果我使用下面的行,它将获取数据Node.js 无法使用monk连接到远程服务器上托管的mongodb,node.js,mongodb,monk,Node.js,Mongodb,Monk,我使用的是NodeJS,对于后端,我使用的是mongodb 对于连接到数据库,如果我使用下面的行,它将获取数据 var db = monk('localhost:27017/nodetest2'); 但如果我将其改为下线,则不会获取数据 var db = monk('mongodb://username:password@XXX.mongolab.com:27483/userdb'); 我已经在两个地方创建了同名的集合 router.get('/userlist', function (re
var db = monk('localhost:27017/nodetest2');
但如果我将其改为下线,则不会获取数据
var db = monk('mongodb://username:password@XXX.mongolab.com:27483/userdb');
我已经在两个地方创建了同名的集合
router.get('/userlist', function (req, res) {
var db = req.db;
var collection = db.get('userlist');
collection.find({}, {}, function (e, docs) {
res.json(docs);
});
});
const db = require("monk")(uri);
db.then(() => {
console.log('Connected correctly to server')
})
您应该从添加错误处理开始。我可以很好地连接到该数据库(但我无法执行查询,因为我没有正确的用户名/密码,因此查询会返回身份验证错误)。谢谢@robertklep会这样做。要启用此功能,我必须进行任何配置/设置级别的更改吗?您应该首先找出查询不起作用的原因;使用一个独立的脚本是最简单的;如果您收到任何错误(查询回调中的
e
变量),请记录这些错误,以便了解发生了什么(可能是用户名/密码不匹配)。这可能是权限问题,与monk无关。尝试从shell进行连接,如果不起作用,请返回您的mongolab帐户并更改权限,直到您的某些功能正常为止。感谢robertklep、blakes Seven及其权限问题,我尝试使用不同的用户id和密码,结果成功了