DockerでMongoDBコンテナーと対話しコレクションにドキュメントを作成し検索する

スポンサーリンク

DockerでMongoDBコンテナーと対話しコレクションにドキュメントを作成し検索してみます。

この記事は、前回公開した「DockerでMongoDBコンテナーと対話し新しいデータベースとコレクションを作成する」という記事の続きになります。

■環境

Windows10(DockerDesktopインストール済み)

docker version

Client:
Cloud integration: v1.0.22
Version: 20.10.12
API version: 1.41
Go version: go1.16.12
Git commit: e91ed57
Built: Mon Dec 13 11:44:07 2021
OS/Arch: windows/amd64
Context: default
Experimental: true

Server: Docker Engine - Community
Engine:
Version: 20.10.12
API version: 1.41 (minimum version 1.12)
Go version: go1.16.12
Git commit: 459d0df
Built: Mon Dec 13 11:43:56 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.12
GitCommit: 7b11cfaabd73bb80907dd23182b9347b4245eb5d
runc:
Version: 1.0.2
GitCommit: v1.0.2-0-g52b36a2
docker-init:
Version: 0.19.0
GitCommit: de40ad0

■save()を用いてコレクションにドキュメントを追加する

前回「crazy_napier」という新しいMongoDBコンテナーに接続し、「test-db」という新しいデータベースを作成し、「user」というコレクションを追加しました。

> use test-db
switched to db test-db
> db.user.save({ name:"田中" })

追加を行いましたので、コレクション内にドキュメントを追加してみます。「use」コマンドを用いてtest-dbのデータベースに切り替わっている(switched to)かの確認を行い、上記のコマンドを入力し、Enterキーを押します。dbの「user」というコレクションに対してsave()を用います。括弧内には引数,パラメータとしてJSON形式(キー(名前)とバリュー(値)のペア)を渡します。今回はキーが「name」で、バリューが「田中」とします。

WriteResult({ "nInserted" : 1 })

Enterキーを押すと、上記のメッセージが出力されます。これでコレクション内にドキュメントが追加されました。

> db.user.find()

追加後、実際に追加されたのかの確認を行います。確認のために、上記のコマンドを入力し、Enterキーを押します。userというコレクション内のドキュメントを取得し表示します。

Enterキーを押すと、コレクション内のドキュメントが表示され、今回追加したドキュメントが表示されていることが確認できました。この時、キーと値だけでなくカーソルIDも表示される。なお、今回はバリュー(値)に日本語を用いましたが日本語であっても追加できることもわかりました。

■insert()を用いてドキュメントを追加する

>db.user.insert({name:"松本"});

確認後、insert()を用いてもドキュメントを追加することができるのでやってみます。MongoDBシェル上で、上記のコマンドを入力し、Enterキーを押します。userというコレクションに対してinsert()を用います。括弧内には引数,パラメータとして、先程同じくJSON形式(キー(名前)とバリュー(値)のペア)を渡します。

WriteResult({ "nInserted" : 1 })

Enterキーを押すと、上記のメッセージが出力されます。これでコレクション内にドキュメントが追加されました。

>db.user.find()

追加後、追加されたのかの確認を行います。確認のために、上記のコマンドを入力し、Enterキーを押します。先程同じくfind()を用います。

Enterキーを押すと、コレクション内のドキュメントが表示され、insert()を用いて追加したドキュメントが確認できました。

■コレクション内の特定のドキュメントを検索する

>db.user.find({name:"田中"});

確認後、コレクション内の特定のドキュメントを検索してみます。検索するために、上記のコマンドを入力し、Enterキーを押します。先程同じくfind()を用いますが、今回は括弧内に引数,パラメータとして検索するドキュメントの値を渡します。

Enterキーを押すと、引数,パラメータとして渡した特定のドキュメントが検索され、結果が出力されました。

コメント

タイトルとURLをコピーしました