注意
私も初めてMongoDBをWSL2 Ubuntu(20.04 LTS)環境で使用するため、MongoDB自体についての知識が不足している。そのため、「このようにしたら動作する」、「このようにしたらエラーが解消される」といった操作と結果の対応関係のみを書くことに努める。
インストール
MongoDB公式ページの以下の章を参照(Ubuntu以外のLinuxディストリビューションの場合は、対応するページを参照)。
- "Install MongoDB Community Edition"
- "Run MongoDB Community Edition"
systemctl start mongod, mongod --dbpath, mongosh etc.
Mongo Shellを利用するためにmongoshコマンドを使うが、正常に起動しない場合がある。しかし、以下の2つの場合では正常な起動が確認された。尚、systemctlコマンドを使用するのは、systemdの場合であることに注意されたい(cf. MongoDB公式ページ)。
- パターンA
- 1. sudo systemctl start mongod でサーバを起動する。
- 2. sudo systemctl status mongod で起動を確認。
- 3. mongosh コマンドを実行。
- パターンB
- 1. sudo systemctl stop mongod でサーバを停止させる。
- 2. sudo systemctl status mongod で停止を確認。
- 3. sudo mongod --dbpath <任意のDirPath(e.g. ~/foo/data/db)>
- 4. プロンプトが帰ってこないため、ctrl+cなどで停止せず、もう1つターミナルを用意する。
- 5. 新しいターミナルで mongosh コマンドを実行。
パターンAの場合、/var/lib/mongodb 配下にデータベースが作成され、パターンBの場合、任意のディレクトリ(e.g. ~/foo/data/db)配下にデータベースが作成される。これらは互いに干渉しない。
パターンAにおいてデータベースがデフォルトで作成されるディレクトリは、/etc/mongod.conf に記載がある。これについては、MongoDB のインストール時に apt-get を用いたか否かなどにより、個人差が生じるようなので要確認。
よくあるエラーの対処
sudo systemctl status mongod などで、エラーメッセージが表示されることがある。その場合は、以下の方法(.sockのユーザパーミッション変更 or /tmp/mongodb-27017.sockの削除)で改善することがある。
その他参考ページ