今回は「MongoDB で 2台構成 の レプリカセット を 作成する方法」についてまとめます。
…いきなりですが、MongoDB で 2台構成 のレプリカセットを作ることはできません。
低スペックで構いませんので必ず3台構成にする必要があります。
目次
概要
レプリカセットの構築
レプリカセットメンバーの準備
レプリカセットの初期化
レプリカセットの動作確認
レプリカセットの設定確認
レプリカセットのステータス確認
フェールオーバーの動作確認
概要
今回は物理2台 ...
2月 2018年
MongoDB で 3台構成 の レプリカセット を 構築する 方法
今回は「MongoDB で 3台構成 の レプリカセット を 作成する方法」についてまとめます。
目次
概要
レプリカセットの構築
レプリカセットメンバーの準備
レプリカセットの初期化
レプリカセットの動作確認
レプリカセットの設定確認
レプリカセットのステータス確認
フェールオーバーの動作確認
概要
今回は以下の図のようなサーバー3台構成(プライマリ1台、セカンダリ2台)のMongoDBサーバーを構築していきます。
今回は動作確認をお試しで行いたいので、以下の制約 ...
Akinari Tsugo
0:22
MongoDB
MongoDB の レプリケーション 概要
今回は「MongoDB の レプリケーション」についてその概要をまとめます。
タイトルには「レプリケーション」とありますがMongoDBでの実装にあたる「レプリカセット」の概要についてまとめています。
目次
レプリケーション
MongoDBにおけるレプリケーション
レプリカセットメンバー
レプリカセットの構成
自動フェールオーバー
データの読み書き
レプリケーション
「レプリケーション」はデータを複数のデータベースサーバーへコピーすることで冗長性と可用性を提供する仕組みです。
保存するデータセンターが異なれば災害対策にもなります。
また、同一データがコピーされているので読取が多いアプリケーションでは負荷分散も行えます。
MongoDBにおけ ...
Akinari Tsugo
23:48
MongoDB
MongoDB で View を作成する 方法
今回は「MongoDB で View を作成する 方法」についてまとめます。
目次
概要
構文
サンプルコード
概要
MongoDB における ビュー は Aggregation Pipeline のショートカットになります。
ビューは読み取り専用コレクションという扱いのため、書き込みを行おうとするとエラーになります。
構文
mongo コマンドで以下の構文を実行することで MongoDB の ビュー を作成することができます。
db.createView( <VIEW_NAME>, <SOURCE_COLLECION>, <PIPELINE>, [<OPTIONS>] )
引数
型
説明
VIEW_NAME
...
Akinari Tsugo
21:24
MongoDB
MongoDB で ドキュメント内の配列 を展開する 方法
今回は「MongoDB でドキュメント内の配列を展開する方法」についてまとめます。
MongoDBはドキュメントを保存するデータベースなので、そのドキュメントに配列が含まれることもあります。
今回はその配列を展開する方法についてまとめます。
目次
サンプルデータ
aggregate( $unwind )
サンプルデータ
以下のサンプルデータが入っている環境でのサンプルコードおよび実行結果を見ていきます。
> db.fruits.insertMany([
{ name: "shirt-A", size: ["S", "M", "L"] },
{ name: "shirt-B", size: ["Free"] },
{ name: "shirt-C", size: ["S"] }
...
Akinari Tsugo
21:12
MongoDB
MongoDB で コレクションを結合する 方法
今回は「MongoDB で コレクションを結合する方法」についてまとめます。
MongoDB 3.2 以上 と 3.6 以上 で使える構文が違いますが、今回は両方共の構文を紹介します。
3.6以上であれば条件指定でコレクション結合できるのでよりRDBと似たような複雑なクエリが記載できるようになています。
目次
前提データ
結合フィールドを指定してコレクション結合
構文
サンプルコード
条件指定してコレクション結合
構文
サンプルコード
前提データ
以下のデータを mongo コマンドで投入してある状態で ...
Akinari Tsugo
20:43
MongoDB
MongoDB で 検索結果 から 不要なフィールド を 削除する 方法
今回は「MongoDB で 検索結果から不要なフィールドを削除する方法」についてまとめます。
どちらかというと「_id が余計なのでこれだけ削除した結果を取得したい」ことが一番多いような気がしますが、
今回は一般化させてどんな加工(今回は削除にフォーカス)ができるのかをまとめます。
MongoDB で 検索結果を加工する場合 aggregate() の $project ステージ で行います。
基本的に削除したいフィールドは 0 指定、表示したいフィールドは 1 指定でできます。
以下で詳しく紹介します。
目次
概要
前提データ
「削除したいフィールド」を指定する
「表示したいフィールド」を指定する
条件付きで「削除したいフィールド」を指定する(?)
概 ...
Akinari Tsugo
21:47
MongoDB