私はMongoDBの初心者で、作成またはインポートしたデータの検索/アクセスでいくつかの問題に遭遇しました.2つの異なる場所に行き着きます.
このようにシェルを起動すると
$ mongo
次に、データベースを表示します
$ show dbs
これにより、私が作成した約 10 個のデータベースのリストが表示されます。これらは /data/db ディレクトリにあります。「pact」という名前のデータベースは含まれていません。
しかし、このように接続すると
$ mongo localhost/pact
そして、する
$show dbs
pact
「mongo」を実行するだけで他の方法でmongoに接続するとリストされない1つのdb、dbのみがリストされます。「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)
そして、「show dbs」を実行します
/data/db ディレクトリ (協定を含まない) から dbs の長いリストを取得します。
irb を介してdb を見つけるためにpact
、mongo localhost/pact の場合と同様に、localhost の後に含めるようにしました。
>> mongo_client = MongoClient.new("localhost/pact", 27017)
しかし、私はエラーが発生しました。
1 「pact」データベースがどのディレクトリにあるかを知る方法はありますか?
2 Mongoドライバーを使用しない場合、どうすればirbでアクセスできますか
mongo_client = MongoClient.new("localhost/pact", 27017)
シェルでこれを行うことができるので、これはうまくいくと思いましたmongo localhost/pact
3 私があなたに言ったことに基づいて、なぜこれが起こったのか説明できますか (データを別のディレクトリに保存するのは適切な方法ではないと思います)