LoginSignup
3
1

More than 5 years have passed since last update.

MongoDBに関する備忘録

Last updated at Posted at 2017-11-20

忘れそうなので。。。
先人の写経がほとんど

インストール

windows - 公式document
mac - 公式document

説明書

細かい仕様は下のノートが有名です。
英語: The Little MongoDB Book
日本語: MongoDBの薄い本

参考書

windowsの場合下記参考になりました
認証設定や起動、切断に関数事が書いてある
Windows で MongoDB を動かすメモ
macはdocumentのbrew欄を参考
Install MongoDB Community Edition on macOS

起動

設定ファイルは通常以下にある
/usr/local/etc/mongod.conf
そこからログパスも確認してバックエンドで起動する

sudo mongod --fork --dbpath /data/db  --logpath /usr/local/var/log/mongodb/mongo.log

コンソール上で起動するなら以下だけでOK

sudo mongod

動かしてみる

mongo

これだけ

CRUD

Database一覧

> show dbs
admin  0.000GB
local  0.000GB

Database作成

> use testDB
switched to db testDB

Database削除

> db.dropDatabase()
{ "dropped" : "testDB", "ok" : 1 }

collection作成

> db.testCollection
testDB.testCollection

collection一覧

> show collections
> 

返事がない。。。

insert

> db.testCollection.insert({first_name: 'taro', last_name: 'sato', dob: new Date('2000-01-01'), gender: 'm'})
WriteResult({ "nInserted" : 1 })
> show collections
testCollection

insertした事によって、テーブルcollectionが作成される

ちょっと見てみる

> db.testCollection.find()
{ "_id" : ObjectId("5a1294be8785a7f7da2bd618"), "first_name" : "taro", "last_name" : "sato", "dob" : ISODate("2000-01-01T00:00:00Z"), "gender" : "m" }

update

> db.testCollection.update({"_id" : ObjectId("5a1294be8785a7f7da2bd618")}, {$set: { first_name: "jiro"}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.testCollection.find()
{ "_id" : ObjectId("5a1294be8785a7f7da2bd618"), "first_name" : "jiro", "last_name" : "sato", "dob" : ISODate("2000-01-01T00:00:00Z"), "gender" : "m" }

条件指定で検索

> db.testCollection.find({gender: "f"})
>
> db.testCollection.find({gender: "m"})
{ "_id" : ObjectId("5a1294be8785a7f7da2bd618"), "first_name" : "jiro", "last_name" : "sato", "dob" : ISODate("2000-01-01T00:00:00Z"), "gender" : "m" }

条件のオプションは以下

演算子 意味
$lt 未満
$lte 以下
$gt より大きい
$gte 以上
$ne 否定

data削除

> db.testCollection.remove({ "_id" : ObjectId("5a1294be8785a7f7da2bd618")})
WriteResult({ "nRemoved" : 1 })
> db.testCollection.find()
> 

collection削除

> db.testCollection.drop()
true
> show collections
> 

mongoサーバー停止

> db.shutdownServer()
server should be down...

db操作終了

> exit
bye

他にも参考したもの

HomebrewでMacにMongoDBをインストールした時のメモ

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1