MongoDBを触ってみる
MongoDBを触る準備
今回は、Docker-Composeを使ってMongoDBをセットアップしました。
docker-compose.ymlの中身は↓です。
version: '3' services: mongo: image: mongo
あとは、docker-compose up
したら、MongoDBのサーバーが立ちました。
docker-compose exec mongo bash
で中に入り操作していきます。
MongoDBを触ってみる
MongoDBをインストールできたら、mongo
コマンドでMongoDBを操作することができます。
$ mongo
DB作成・選択
use DB名;
とするだけです。
DBの選択だけでなく、作成も自動で行われます。
> use Sample; switched to db Sample
これでSampleというデータベースを作成できました。
show dbs;
でDB一覧を確認することができます。
コレクションの作成
RDBのテーブルにあたるところのコレクションを作っていきます。
コレクションを作成するには、createCollection()
を使います。
> db.createCollection('User'); { "ok" : 1 }
コレクションを作成できました。
show collections;
でコレクションの一覧を確認できます。
データの追加
insert()
を使って、データを追加します。
JSON形式で渡せば、すきな属性を付与することができます。
> db.User.insert({name: 'Ken', age: 10}) WriteResult({ "nInserted" : 1 }) > db.User.insert({name: 'Mari', gender: 'f'}) WriteResult({ "nInserted" : 1 })
データの一覧を取得
データの一覧を取得して、データが追加されていることを確認します。
データの取得には、find()
を使う
> db.User.find() { "_id" : ObjectId("611681fa60f9dd4792a46c02"), "name" : "Ken", "age" : 10 } { "_id" : ObjectId("6116821a60f9dd4792a46c03"), "name" : "Mari", "gender" : "f" }
find()
の第一引数には、条件を指定することができます。
> db.User.find({ gender: 'f' }) { "_id" : ObjectId("6116821a60f9dd4792a46c03"), "name" : "Mari", "gender" : "f" }
また、演算子も利用できます。
> db.User.find({ age: { $lt: 15 }}) { "_id" : ObjectId("611681fa60f9dd4792a46c02"), "name" : "Ken", "age" : 10 }
find()
の第二引数で取得したい属性を指定できます。
> db.User.find({}, { name:1, _id:0 }) { "name" : "Ken" } { "name" : "Mari" }
データの更新
データの更新はupdate()
でできます。
第一引数が条件、第二引数が更新内容です。
> db.User.update({name: 'Ken'}, {age: 15}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.User.find() { "_id" : ObjectId("611681fa60f9dd4792a46c02"), "age" : 15 } { "_id" : ObjectId("6116821a60f9dd4792a46c03"), "name" : "Mari", "gender" : "f" }
今回はここまで!
終わり