インストール
/etc/yum.repos.d/mongodb-org-4.0.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
を記載し、
yum install -y mongodb-org
起動
systemctl start mongod
停止
systemctl stop mongod
再起動
systemctl restart mongod
自動起動
systemctl enable mongod
シェル起動
mongo
シェル終了
exit
Mongoシェルコマンド
db切り替え(作成)
use DB
db削除
db.dropDatabase()
利用中db
db
db一覧
show dbs
コレクション一覧
show collections
コレクション作成
db.createCollection(“コレクション名”)
※Cは大文字
コレクション削除
db.コレクション名.drop()
ドキュメント作成
db.コレクション名.insert({“name”:”taro”,”age”:1})
db.コレクション名.insert({“name”:”taro”,”age”:1, “addr”:”tokyo”})
ドキュメント検索
db.コレクション名.find()
※すべて
db.コレクション名.findOne()
※一つのみ
db.コレクション名.find({“name”:”taro”})
※条件
ドキュメント更新
db.コレクション名.update(検索内容、更新内容)
db.コレクション名.update({“name”,”taro”},{“name”:”jiro”})
通常はフィールドが全て上書きされる。
更新したい場合$setを使う。
フィールドが存在すれば更新、しないと新しいフィールドとして追加される。
db.コレクション名.update({“name”,”taro”},{$set:{“name”:”jiro”}})
ドキュメント削除
db.コレクション名.remove()
※すべて
db.コレクション名.remove(検索内容)
ユーザー
ユーザーはDBごとに作成adminのユーザーは管理者となる。
現在のDBに接続中のユーザー
db.getUsers()
db.system.users.find()
ユーザ作成
※2.4まではaddUser
use name_store
db.createUser({
user:”taro”,
pwd:”123″,
roles:[{
role: “readWrite”,
db: “admin”
}]
})
あるいは
db.createUser({
user:”jiro”,
pwd:”123″,
roles:[“dbAdminAnyDatabase”]
})
db.createUser({
user:”shiro”,
pwd:”123″,
roles:[“root”]
})
現在の接続先のDBにユーザーがー作成される。
db:は対象のDBというよりロールが存在するDBという意。
主要なロール
read
readWrite
dbAdmin
dbOwner
userAdmin
readAnyDatabase
readWriteAnyDatabase
userAdminAnyDatabase
dbAdminAnyDatabase(他のコレクションのfind等できない)
root
ユーザー削除
use db
db.dropUser(ユーザー名)
認証
認証有効化
/etc/mongod.conf
※winならProgram Filesの中
#security:
↓
security:
__authorization: enabled
※インデント必要
ログイン方法
mongo
use admin
db.auth(“taro”, “123”)