Windows10でMongoDBの設定

Windows10でMongoDBを使おうとしたら、少しつまづいたのでメモとして残しておく。

1. ダウンロードとインストール

MongoDB Download Centerから Windows Server 2008 R2 64-bit and later, with SSL support x64をダウンロードしてインストール。

2. パスを通す

デフォルトのパスC:\Program Files\MongoDB\Server\3.4\binをシステム環境のPathに登録。

3. ログとデータの保存場所を確保

僕の環境だとMongoDBをインストールしたCドライブが0.5TBしかないのに対して、Dドライブが1.8TBあるので、 ビッグデータに備えて、以下のようにDドライブにログとデータの保存場所を作成しておく。ここは各自の好みでOK。

D:\db\mongodb\log\
D:\db\mongodb\data\

4. MongoDBの設定ファイルの作成

MongoDBを起動するときは、毎回上記のパスを教える必要がある。 面倒なので、以下の内容の設定ファイルmongod.cfgを作成して、C:\Program Files\MongoDB\Server\3.4\bin\に置いておく。 拡張子は、cfgでもconfでもconfigでも何でもいいっぽい。なお、設定ファイルの置き場所も各自の好みでOK。

systemLog:
    destination: file
    path: D:\db\mongodb\log\mongod.log
storage:
    dbPath: D:\db\mongodb\data

5. 設定ファイルのWindowsサービス登録

上記で作成した設定ファイルをWindowsサービスに登録することで、Windowsと同時にMongoDBを起動できる。 コマンドプロンプトを管理者権限で立ち上げて、mongod --config "C:\Program Files\MongoDB\Server\3.4\bin\mongod.cfg" --installと入力して実行する。 しかし、以下のようなエラーが出る可能性がある。

PS C:\WINDOWS\system32> mongod --config "C:\Program Files\MongoDB\Server\3.4\bin\mongod.cfg" --install
Error parsing YAML config file: yaml-cpp: error at line 5, column 8: illegal map value
try 'C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe --help' for more information

設定ファイルについて、以下の4つが守られていないことが原因と考えられる。

  • utf-8で保存
  • タブを使わない
  • systemLogとstorageの間を開けない
  • パスをダブルクォーテーションで囲まない

修正したら、以下の通り上手くいくはず。

PS C:\WINDOWS\system32> mongod --config "C:\Program Files\MongoDB\Server\3.4\bin\mongod.cfg" --install
PS C:\WINDOWS\system32>

6. Pythonからの操作

PythonからMongoDBを操作する場合は、pymongoを使えるようになるとよい。 以下の記事でCRUD操作の基礎を学べる。

testpy.hatenablog.com

参考文献