きっかけ
- MongoDBのCRUD操作について、自分自身の整理のために一度まとめを実施
環境
- MongoDB V4.4.17
DB作成・切り替え
# DB作成
use [DB名];
# DB切替
use [DB名]; (存在しないDBの場合は新規でDBが作成される)
# DB一覧確認
show dbs
#現在のDBを確認
db.stats()
CRUD操作とは
CRUDはデータを操作する4つの基本機能の頭文字を取ったもの。
4つとはCreate(作成)、Read(読み取り)、Update(更新)、Delete(削除)
DBにデータの作成(Create)
- db.コレクション名.insertOne({key: value}) =>1つのデータのみ作成可能
- db.コレクション名.insertMany([{key: value}, {key: value}]) =>複数のデータを作成可能
- db.コレクション名.insert([{key: value}, {key: value}]) =>1つと複数のどちらでも作成可能
db.sample.insert([{name:'村上',team:'ヤクルト',homeRun:55},{name:'岡本',team:'巨人',homeRun:28},{name:'丸',team:'巨人',homeRun:27}])
// 複数のデータを作成する場合は配列の中にオブジェクトを作成すること
DBのデータの読み取り(Read)
- db.コレクション名.findone(検索条件,射影) =>1つのデータのみ読取する場合に利用
- db.コレクション名.find(検索条件,射影)
// 処理名
db.sample.find({name:'村上'})
// 結果
{ "_id" : ObjectId("632901c8ba80d3398393536e"), "name" : "村上", "team" : "ヤクルト", "homeRun" : 55 }
DBのデータの更新(update)
- db.コレクション名.updateOne({検索条件}, {更新内容}) =>1つのデータを更新する場合に利用
- db.コレクション名.updateMany({検索条件}, {更新内容}) =>複数のデータを更新する場合に利用
// 処理名
db.sample.updateOne({name:'村上'},{$set:{homeRun:60}})
// 結果
{ "_id" : ObjectId("632901c8ba80d3398393536e"), "name" : "村上", "team" : "ヤクルト", "homeRun" : 60 }
DBにデータの削除(Delete)
*db.コレクション名.deleteOne({key: value}) =>単一データを削除する場合に利用
*db.コレクション名.deleteMany({key: value}) =>複数のデータを削除する場合に利用
MongoDBで使える演算子
比較演算子
name | 説明 |
---|---|
$eq | 一致するレコードを表示する(equal to) |
$gt | より大きいレコードを表示する(greater than) |
$gte | 以上のレコードを表示する(greater than or equal to) |
$lt | より小さいレコードを表示する(less than) |
$lte | 以下のレコードを表示する(less than or equal to) |
論理演算子
name | 説明 |
---|---|
$and | 全ての条件にあてはまるレコードを表示する |
$or | 一つでも条件にあてはまるレコードを表示する |
$nor | 2つの条件のうちどちらにもあてはまらないレコードを表示する |
$not | 不随した条件にあてはまらないレコードを表示する |
学んだこと
- MongoDBのDB作成方法・切り替え方法
- MongoDBにおけるCRUD操作方法
- MongoDBで使える演算子