web-dev-qa-db-ja.com

Windows 8でMongoDBに接続する方法

新しいWindows 8コンピューターにMongoDBをインストールして実行しようとしています。しかし、mongo.exeシェルを使用すると、MongoDBに接続できないようです。

次のエラーが発生しました:

MongoDB Shell version: 2.4.8
connecting to: test
Sun Dec 15 14:06:39.835 Error: couldn't connect to server 127.0.0.1:27017 at src/mongo/Shell/mongo.js:146
exception: connect failed

MongoDBに正しく接続するにはどうすればよいですか? MongoDBがすでにインストールされており、Data Directoryもすべてセットアップされています。また、MongoDBログファイル用の特定のディレクトリを作成し、MongoDBサービスをインストールしました。

2
user2977290

実行したディレクトリmongo.exeには、実行可能ファイルmongod.exeも表示されます。

  • mongo.exeは、コマンドを発行してデータベースにクエリを実行できるサーバー/デーモンに接続するシェルです。
  • mongod.exeは、実際のmongoサーバー/デーモンです。

最初にmongod.exeを実行してサーバーを起動し、次に新しいコマンドウィンドウでmongo.exeを実行します。これで、シェルは実行中のサーバーに接続するはずです。本番環境では、別のコマンドウィンドウで実行するのではなく、mongodをWindowsサービスとして設定することを検討します。

4
iiSeymour

--dbpathで指定されたもの以外のストレージエンジンによって生成されたデータファイルを含む--storageEnginemongodを開始しようとすると、mongodは開始を拒否します。 -dbpathは、mongodサーバーが起動時にチェックするパスパラメーターです。

-dbpath <path>は、Windows環境では\data\dbである必要があります。

ログに記録されているように、デフォルトポート(つまり27017)でローカルMongoDBインスタンスに接続しようとしています。

MongoDBのインストール後、最初から始めましょう。 MongoDBをmongoシェルに接続する方法。

注:mongodサーバーとmongo Shellを起動する前に、\data\dbのようなデフォルトでMongoDBのパスがC:\ driveに作成されていることを確認してください。

MongoDBのドキュメントに記載されているとおり ここmongodは、MongoDBシステムのプライマリデーモンプロセスです。データ要求を処理し、データアクセスを管理し、バックグラウンド管理操作を実行します。

localhostで実行されているMongoDBインスタンスにデフォルトのポート27017で接続するには:

  1. ターミナルウィンドウのプロンプト(またはWindowsのコマンドプロンプト)で、<mongodb installation dir>に移動します。

    cd mongodbインストールディレクトリ

例えば私の環境では

C:\Program Files\MongoDB\Server\3.6\bin>mongod

注:デフォルトでは、MongoDBのインストールディレクトリはC:\Program Files\MongoDB\Server\x.x\binです。私の場所ではC:\Program Files\MongoDB\Server\3.6\bin。ここで、x.xはMongoDBのバージョン番号を示します。

  1. mongoを開始するには:

PATH<mongodb installation dir>/binを追加した場合、mongoを実行できます

mongo 

Mongo Shellを実行したいので、私の場所ではコマンドは次のようになります

C:\Program Files\MongoDB\Server\3.6\bin>mongo

Mongo Shellを実行すると、以下のようにそのような情報がいくつか見つかります。

C:\Program Files\MongoDB\Server\3.6\bin>mongo
MongoDB Shell version v3.6.0
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.0
Server has startup warnings:
2018-03-16T19:57:55.861+0530 I CONTROL  [initandlisten]
2018-03-16T19:57:55.862+0530 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2018-03-16T19:57:55.862+0530 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2018-03-16T19:57:55.862+0530 I CONTROL  [initandlisten]
2018-03-16T19:57:55.863+0530 I CONTROL  [initandlisten] ** WARNING: This server is bound to localhost.
2018-03-16T19:57:55.863+0530 I CONTROL  [initandlisten] **          Remote systems will be unable to connect to this server.
2018-03-16T19:57:55.865+0530 I CONTROL  [initandlisten] **          Start the server with --bind_ip <address> to specify which IP
2018-03-16T19:57:55.865+0530 I CONTROL  [initandlisten] **          addresses it should serve responses from, or with --bind_ip_all to
2018-03-16T19:57:55.865+0530 I CONTROL  [initandlisten] **          bind to all interfaces. If this behavior is desired, start the
2018-03-16T19:57:55.868+0530 I CONTROL  [initandlisten] **          server with --bind_ip 127.0.0.1 to disable this warning.
2018-03-16T19:57:55.870+0530 I CONTROL  [initandlisten]
2018-03-16T19:57:55.871+0530 I CONTROL  [initandlisten] Hotfix KB2731284 or later update is not installed, will zero-out data files.
2018-03-16T19:57:55.873+0530 I CONTROL  [initandlisten]
2018-03-16T19:57:55.874+0530 I CONTROL  [initandlisten] ** WARNING: The file system cache of this machine is configured to be greater than 40% of the total memory. This can lead to increased memory pressure and poor perf
ormance.
2018-03-16T19:57:55.876+0530 I CONTROL  [initandlisten] See http://dochub.mongodb.org/core/wt-windows-system-file-cache
2018-03-16T19:57:55.877+0530 I CONTROL  [initandlisten]
>

:上記のmongoシェル警告メッセージ情報は私の環境にあります。これはMongoDB 3.6 versionに基づいています。環境によっては、このメッセージが異なる場合があります。これは、デフォルトでMongoDB Incから提供されるMongoDBのバージョンによって異なります。

このmongo Shell>コマンドプロンプトのようになる場合は、コマンドプロンプト。これは、mongodサーバーに正常に接続したことを意味します。

確認のためにmongo Shellで確認し、次のようなコマンドを入力します。

>show dbs

MongoDBのすべてのデータベースを取得します。

> show dbs
admin             0.000GB
test              0.000GB

mongoシェルプロンプトでデータベース情報を取得する必要がある場合は、mongodサーバーに正常に接続したことを意味します。

注:デフォルトでは、MongoDBはadminおよびtestデータベースを表示します。また、デフォルトでは、mongo Shellはtestデータベースに接続します。たとえば、mongo Shellにチェックインしてそのようなコマンドを入力するには

> db
test
> 

さらにあなたの参照 here および here

0

Sudo_Oによる上記の回答のサポート

Windows 8でmongoを起動する手順。

  1. システムにデータフォルダを作成します(Say D:\ username\Documents\data\db)
  2. Mongoのbinディレクトリに移動し、以下のコマンドを実行します-

    mongod.exe --dbpath D:\username\Documents\data\db
    
  3. Mongoの新しいcmdプロンプトウィンドウのbinディレクトリを開き、以下のコマンドを使用してmongo Shellを起動します-

    mongo.exe
    

お役に立てれば!

0
hannanessay

Windowsでのmongo Shell間の接続には、よく設定されたdbpathが必要になることがよくあります。dbpathがすでに設定されている場合、mongodb Shellに接続する他のクエリはありません。 ここ 2つの異なるコマンドプロンプトを使用してmongo Shellをmongodサーバーに接続する方法と、dbpathが存在しないエラーを解決する方法について説明します。

0
user146823