TOP

MongoDB Memo

2021-01-27

Install mongodb for macOS

# Install mongodb with Homebrew
brew tap mongodb/brew
brew info mongodb-community
brew install mongodb-community
# MongoDB バージョン確認
$ mongod --version
db version v4.4.3
Build Info: {
    "version": "4.4.3",
    "gitVersion": "913d6b62acfbb344dde1b116f4161360acd8fd13",
    "modules": [],
    "allocator": "system",
    "environment": {
        "distarch": "x86_64",
        "target_arch": "x86_64"
    }
}

Start up mongod server

# mongod 手動起動
mongod --config /usr/local/etc/mongod.conf

# またはサービスとして自動起動ON
brew services start mongodb/brew/mongodb-community
# mongoのステータス確認
mongotop

Connect to mongod

# mongo shell起動
mongo

Usage

// mongo shell
// db一覧表示
show dbs
show databases

// 現在のデータベース表示
db

// database切り替え
use dbName

// db状態確認
db.stats()
// コレクション情報一覧表示
db.getCollectionInfos()

// コレクション名一覧表示
db.getCollectionNames()
show collections

// コレクション作成
// コレクションはデータを追加すると自動で作成される
// db.myCollection.insertOne({...}) でデータを追加する
db.myCollection.insertOne({
  message: 'Hello, World!'
})

// 複数追加する時は insertMany() を使う
db.myCollection.insertMany([
  { message: 'Lorem Ipsum' },
  { message: 'こんにちは、世界!' },
  { message: 'テストです!'},
])
// コレクションのドキュメント検索
// 全件表示
db.myCollection.find({})
// 整形
db.myCollection.find({}).pretty()
// 特定のフィールドのみ
db.myCollection.find({}, { _id: 0, message: 1 })
// ドキュメントの更新
db.myCollection.updateOne(
  { message: 'Lorem Ipsum'},
  {
    $set: { message: "Lorem Ipsum!!!" },
    $currentDate: { lastModified: true }
  }
)
db.myCollection.updateMany([
  {...},
  {...},
  {...}
])
db.myCollection.replaceOne({...})
// ドキュメントの削除
db.myCollection.deleteOne({...})
db.myCollection.deleteMany([{...}])

// 全てのドキュメントの削除
db.myCollection.deleteMany({})