Mongo DB を WSL on Ubuntu にインスト`ルする

n-ozawan

峻さん、こんにちは。晦永蝕kグル`プの稼-看噛温敬温稼です。
栖L諮袗(2/3)は准蛍ですね。咐剩祇でその定の牽綪鯔召詆にr縬颪おり、そのr縬颪壓する圭了を{圭と冱います。{圭の兆念の喇栖はその{圭から栖ており、r縬颪いる圭鬚墨鬚韻栃海戮襪帆爾い箸気譴泙后ちなみに書定は掴掴叫です。

云籾です。
恷除、とある並秤からMongo DBを茶しています。Mongo DBはドキュメント峺鬟禰`タベ`スであり、リレ`ショナルデ`タベ`スRDBとは拱屬なりますので、まずは乾ってえたいところです。書指は WSL on Ubuntu のロ`カルh廠でMongo DBをインスト`ルする返をまとめました。

Mongo DB

Mongo DBとは

Mongo DB はドキュメント峺鬟禰`タベ`スと柵ばれるNoSQLの匯Nです。ドキュメント峺鬟禰`タベ`スとは、その兆の宥り、ドキュメントを隠贋するデ`タベ`スのことです。Mongo DBでは、BSONと柵ばれる、JSONに掲械によく貌た侘塀でデ`タを隠贋します。

Oracle吉を旗燕とするRDBとの`いは、その悲來にあります。RDBはデ`タを燕侘塀で隠贋し、その坪否は掲械に鯉です。匯圭、Mongo DBではスキ`マレスを駻辰靴討り、ドキュメントの坪否がなっていても}なく隠贋できます。これは碧筝吉により朕がpしてもDB箸淋O協を筝することなく、悲に_kをMめることができます。

Mongo DBはドキュメント峺鬟禰`タベ`スとして恷も噸式しており、AWSやAzureなどのクラウドh廠で戻工されるドキュメント峺鬟禰`タベ`スは、Mongo DB札Qとなっています。

インスト`ル返乏

WSL on Ubuntu のh廠にMongo DBをインスト`ルします。Ubuntuのバ`ジョンは24.04 LTSです。Mongo DBをインスト`ルする念に、UbuntuにDockerをインスト`ルする駅勣があります。Dockerのインスト`ルはを歌深にしてください。

Atras CLI のインスト`ル

Mongo DBをインスト`ルするには、Atras CLIをインスト`ルする駅勣があります。Atras CLIのインスト`ルにはを歌深にしました。

# aptで聞喘される巷_Iをインポ`トする
curl -fsSL https://pgp.mongodb.com/server-7.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor

# Mongo DB のエディションのリストファイルを恬撹する
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

# Atras CLI をインスト`ルする
sudo apt update && sudo apt install -y mongodb-atlas

恷瘁にAtlas CLI のインスト`ルが撹孔していることを_Jしましょう。

atlas --version

Mongo DB をインスト`ル

Mongo DBをロ`カルh廠にインスト`ルします。インスト`ルにはを歌深にしました。

sudo atlas deployments setup myDeployment --type local --mdbVersion 8.0 --port 27017 --connectWith skip

撹孔すると參和のメッセ`ジが竃薦されます。

Deployment created!
Connection string: "mongodb://localhost:27017/?directConnection=true"

強恬鳩範

コンソ`ルから Mongo DB にアクセスするには、mongoshと柵ばれるツ`ルを聞います。mongoshはAtras CLIのインスト`ルrに、匯wにインスト`ルされていますので、蒙eな返をせずとも聞うことができます。

sudo atlas deployments connect myDeployment --connectWith mongosh

デ`タを携襪靴泙后

AtlasLocalDev myDeployment [direct: primary] test> db.users.insertOne({name: "n-ozawan"})

{
  acknowledged: true,
  insertedId: ObjectId('6976cf8f6327271a368de667')
}

携襪靴織禰`タを函り竃します。

AtlasLocalDev myDeployment [direct: primary] test> db.users.find()

[
  { _id: ObjectId('6976cf8f6327271a368de667'), name: 'n-ozawan' }
]

おわりに

Mongo DBはJSONに掲械によく貌たドキュメントをQいますので、とてもとっつきやすいデ`タベ`スです。とはいえ、NoSQLはこれまでのRDBとは拱屬なりますので、gHに乾ってみないことには蛍からないことが謹いです。ロ`カルh廠で挫き拱屬防?とせるのは措いですね。

ではまた。


Recommendおすすめブログ