| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

MongoDB

提供: MyMemoWiki
2021年5月15日 (土) 08:54時点におけるPiroto (トーク | 投稿記録)による版 (→‎インストール)
ナビゲーションに移動 検索に移動

MongoDB

マニュアル

ドキュメント指向データベース


スキーマレス


  • スキーマを定義しなくても利用できる
  • スキーマレスのため保守性が高い
  • JSON方式でデータを保持
  • テーブルのことはコレクションと呼ぶ

パフォーマンス


  • 機能制限により、高パフォーマンスを実現
  • トランザクションがない
    • 処理速度がかなり高速
  • 大量データの高速処理に向く
  • スケールアウトが簡単な設定で可能

操作感


  • RDBと似た操作
  • 複雑な検索条件を利用できる

インストール


Ubuntu


ubuntu@puli-mon:~$ cat /etc/os-release 
NAME="Ubuntu"
VERSION="20.04.2 LTS (Focal Fossa)"
   :
ubuntu@puli-mon:~$ wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
OK
ubuntu@puli-mon:~$ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
ubuntu@puli-mon:~$ sudo apt-get update
ubuntu@puli-mon:~$ sudo apt-get install -y mongodb-org
ディレクトリ

種類 場所 備考
データ /var/lib/mongodb
ログ /var/log/mongodb
設定 /etc/mongod.conf
開始

ubuntu@puli-mon:/etc$ sudo systemctl start mongod
  • 失敗する場合
sudo systemctl daemon-reload

GUI

mongo-express


インストール

$ sudo apt install curl 
$ curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
$ source ~/.profile
$ nvm ls-remote
$ nvm install v16.1.0
$ nvm use v16.1.0
$ git clone https://github.com/mongo-express/mongo-express.git
$ cd mongo-express
$ npm install

利用

monogoシェルの実行


ubuntu@puli-mon:/etc$ mongo
MongoDB shell version v4.4.6
connecting to: mongodb://127.0.0.1:27017/?
          :
---
> 

データベース作成


  • use で作成
> use testdb
switched to db testdb

コレクションを作成


> db.createCollection("testDoc")
{ "ok" : 1 }
  • 一覧を確認
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
testdb  0.000GB

ドキュメントの登録


  • testDocは、コレクション
> db.testDoc.insertOne(
... {name:"Foo",value:"Bar"}
... )
{
	"acknowledged" : true,
	"insertedId" : ObjectId("609f57392efac2b731a534eb")
}

検索


  • find
> db.testDoc.find()
{ "_id" : ObjectId("609f57392efac2b731a534eb"), "name" : "Foo", "value" : "Bar" }