MongoDB導入手順メモ

MongoDB導入

ダウンロードとインストール

以下のページを参考にMongoDBをインストールする。
MongoDBのダウンロード・インストール(Windows10)

起動

> mongo
>mongo
MongoDB shell version v5.0.9
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("73cdf3f4-4f77-4224-a499-521112a20c19") }
MongoDB server version: 5.0.9
================
Warning: the "mongo" shell has been superseded by "mongosh",
which delivers improved usability and compatibility.The "mongo" shell has been deprecated and will be removed in
an upcoming release.
For installation instructions, see
https://docs.mongodb.com/mongodb-shell/install/
================
---
The server generated these startup warnings when booting:
        2022-07-08T15:14:53.862+09:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
---
---
        Enable MongoDB's free cloud-based monitoring service, which will then receive and display
        metrics about your deployment (disk utilization, CPU, operation statistics, etc).

        The monitoring data will be available on a MongoDB website with a unique URL accessible to you
        and anyone you share the URL with. MongoDB may use this information to make product
        improvements and to suggest MongoDB products and deployment options to you.

        To enable free monitoring, run the following command: db.enableFreeMonitoring()
        To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---

バージョン確認

> db.version()
5.0.9

データベース作成

> use Sample
switched to db Sample

コレクション作成

> db.createCollection("item");
{ "ok" : 1 }

管理者ユーザーの作成

> use admin
> db.createUser({
  user:"admin",
  pwd:"mongodb",
  roles:[{ role:"userAdminAnyDatabase", db:"admin" }]
})

ログイン

> mongo
> use admin
> db.auth("admin", "mongodb")

もしくは

mongo -u "admin" -p "mongodb" --authenticationDatabase="admin"

一般ユーザーの作成

> use Sample
> db.createUser(
  {
    user: "aa001",
    pwd:"aa001",
    roles:[
       {role:"readWrite",  db:"Sample"}
    ]
  }
)

ログイン

> mongo
> use Sample
> db.auth("aa001", "aa001")

もしくは

mongo -u "aa001" -p "aa001" --authenticationDatabase="Sample"

認証の有効化

MongoDBではデフォルトでは認証は無効化されており、誰でもDBにアクセスして登録などの操作を行うことができる。
認証を有効化する手順を説明する

参考: MongoDB の アクセス制御 (ユーザー認証) を 有効化する 方法 MongoDBのユーザ管理

設定ファイル

C:\Program Files\MongoDB\Server\5.0\bin\mongod.cfg 以下の記述を追加する。

security:
  authorization: enabled

再起動

  1. タスクマネージャーの「サービス」タブで「MongoDB」を選択
  2. 「右クリック」→「再起動」を押下

DB操作サンプル

参考: MongoDBのデータ構造な簡単な操作など MongoDB の ユーザー 管理

データのインサート

> db.item.insert( { name:"apple", price:500 } );
WriteResult({ "nInserted" : 1 })

データの検索(全件)

> db.item.find()
{ "_id" : ObjectId("62c7ce3895041ed83c45f744"), "name" : "apple", "price" : 500 }

データベース削除

  1. 削除したいデータベースに接続

     > use sample
     switched to db sample
    
  2. 削除

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