我是 MongoDB 的新手,在定位/访问我创建或导入的数据时遇到了一些问题,因为它最终位于两个不同的位置。
如果我这样启动外壳
$ mongo
然后显示数据库
$ show dbs
这给了我一个我创建的大约 10 个数据库的列表。这些在 /data/db 目录中它不包括名为“pact”的数据库
但是,如果我这样连接
$ mongo localhost/pact
然后做
$show dbs
它只列出了一个数据库,即pact
db,当我通过执行“mongo”以另一种方式连接到 mongo 时未列出该数据库。'Pact' 不在 /data/db 目录中。根据我的笔记,我可能通过这种方式启动 mongod 来制作“pact”数据库,
mongod --dbpath data
我认为会将它放在 data/db 目录中,然后像这样导入到 pact 目录中
mongoimport --stopOnError --db pact --collection products < products.json
继续前进,如果我在 irb 中使用 mongo 并像这样开始
>> mongo_client = MongoClient.new("localhost", 27017)
然后执行“显示 dbs”
我从 /data/db 目录(不包括协议)中得到一长串 dbs。
为了pact
通过 irb 找到 db,我尝试将它包含在 localhost 之后,就像我使用 mongo localhost/pact 一样
>> mongo_client = MongoClient.new("localhost/pact", 27017)
但我有一个错误。
1 有没有办法找出“pact”数据库所在的目录?
2 如果不是通过 Mongo 驱动程序,我如何在 irb 中访问它
mongo_client = MongoClient.new("localhost/pact", 27017)
我认为这会起作用,因为我可以在 shell 中做到这一点mongo localhost/pact
3 根据我告诉你的,你能解释一下为什么会这样吗(我假设这不是将数据保存在另一个目录中的正确方法)