背景
我接到了其他人以前的项目。我仍然试图将各个部分放在一起,因为没有任何文件。基本上我无法找到MongoDB。
这是一个NodeJS / MeteorJS Web应用程序,它有一个Digital Ocean Droplet和一个AWS S3(用于个人资料图片)。
我认为MongoDb将是应用程序托管的地方(在Droplet上),但事实并非如此。
我尝试了什么:
我尝试登录Digital Ocean控制台并运行>>> from pprint import pprint
>>> pprint(d)
{' three': ('3', '6', '9', '12'),
' two': ('2', '5', '8', '11'),
'one': ('1', '4', '7', '10')}
>>>
,但似乎mongo甚至没有安装。在我看来,数据库并不存在。
我在服务器上查了一下,在mongo
中找到了mongodb.conf
个文件。内部的所有内容都是默认值:opt/mongodb
我也尝试通过代码查找可能找到一些线索或其他东西,但没有运气。
问题:
如何找到此数据库的位置?是否有可能无需联系我之前参与项目的人员?
感谢。
答案 0 :(得分:2)
如果您的服务器上有节点项目,那么您应该有权访问该代码。您应该查找初始化与mongodb的连接的行。它可以是硬编码的,也可以是环境变量。
例如,像这样:
// Connection URL
var url = 'mongodb://localhost:27017/myproject';
// Use connect method to connect to the server
MongoClient.connect(url, function(err, db) {
assert.equal(null, err);
console.log("Connected successfully to server");
db.close();
});
我想说的是,如果您有权访问该项目,则无需在此之前与团队联系。
当您使用Meteor时,应该有settings.json
个文件设置MONGO_URL
变量。在那里,您可以找到数据库的地址。如果没有他们可能将其设置为环境变量,您只需回显MONGO_URL:
echo $MONGO_URL
但可能性很多。您应该阅读代码,如果这不起作用并查找值(您甚至可以从项目内部记录它)
答案 1 :(得分:0)
此应用程序使用mupx而不是mup。
要访问数据库,请登录服务器并运行:
docker exec -it mongodb mongo <appName>
上面的命令将把你带入mongoDB shell。
然后,您可以使用show dbs
,use dbName
和show collections
查看数据库中的数据。
<强>参考:强>
https://github.com/arunoda/meteor-up/tree/mupx#accessing-the-database