masalibの日記

システム開発、運用と猫の写真ブログです

mlabでmongodbを使う

会社の勉強会でmongodbを使った仕組みをつくっています

経緯

会社のPCだと、ローカルにVMを立ててmongodbにつないだり、会社のDockerにmongodbをインストールしてもらってそちらに接続できるのですが
前回、作成したCloud9の環境だとローカルのVMや会社のDockerのmongodbに接続する事ができません
masalib.hatenablog.com

最終的にはherokuのmongodbでいきたいのですが
アドオンのインストールができないのと1つしか作れないという問題があった
あとインストールがめんどくさい

そこで
mlab.com
で環境構築することにした

ここが良いところは
クレジットカード入力がなくて無料で使えるということ!!

f:id:masalib:20180417123515p:plain

mlabならテストDBなら4つぐらいは作れるらしいのでそちらでおこなうことにした。
ちなみに無料で使えるのが500Mなのですが、トランザクションデータは3ヶ月ぐらいで消えるような形で作れば問題ないと思う
有料が1Gからあるけど15ドルになる。ハードルが高くなるな~(*´ω`*)

会員登録

f:id:masalib:20180417151311p:plain

Account Name:どちらかというと会社名(いつでも変えれる)
Email:認証用
UserName:ログインで使うユーザー名
PassWord:ログインで使うパスワード


登録ボタンを押すと

Your email address needs to be verified. Send an email verification again to "masalib@gmail.com".
認証用のメールをおくったからクリックしてねと表示されるので

登録したメールに
下記のような形で届く
f:id:masalib:20180417151403p:plain

こちらをクリックすると
masalib@gmail.com has been verified!

認証ができました

DB作成

Create newのボタン押す
f:id:masalib:20180419203615p:plain

f:id:masalib:20180419204239p:plain
Cloud Provider
 → Amazon Web Services

Plan Typeがきかれるので
 → SANDBOXを選択する

リージョン
 → いつものUS Eastを選択する

f:id:masalib:20180419204250p:plain

DB名
 → 使用するアプリ名を入力する
f:id:masalib:20180419204328p:plain

完了画面
f:id:masalib:20180419205229p:plain

ユーザー作成

dbが作成できたのですがユーザーがいない状態なのでユーザーの追加をおこないます

①ユーザーのタブをクリックする
②Add database userを押す

f:id:masalib:20180419205434p:plain

適当なユーザーを作成する
id:tamagoyadbuser
password:tamagoyamediaseek
Make read-onlyにチェックしない

f:id:masalib:20180419205516p:plain

Robo3Tからの接続

Robo3Tとは無料のmongodbのGUIのクライアントツールです
もともとはRobomongoという名前だったけどそれが
Studio 3Tという会社が買収したため
Robo3Tになった・・・う~ん微妙!!

Robo 3T - formerly Robomongo — native MongoDB management tool (Admin UI)

Robo3Tを起動してcreateというリンクを押して、接続情報を作成する

f:id:masalib:20180419210117p:plain
f:id:masalib:20180419210552p:plain
f:id:masalib:20180419210737p:plain
f:id:masalib:20180419210844p:plain

これで接続できます

f:id:masalib:20180419210944p:plain

試しにtestというコレクションがつくれるのかやってみました
問題なくできました

あとはexpress側にDB接続文字列を記載するのみ!!
容量が少ないとはいえクレジットカード番号の入力なしに作れるのはありがたい

RDB技術者のためのNoSQLガイド

RDB技術者のためのNoSQLガイド