あなたのLocalhostスタンドアローンMongoDBクラスタをMac OSでRun Rs NPMパッケージを使用しているレプリカに変える方法


MongoDBについてもっと知るために、私はまた、トランザクションを含むプロジェクトに取り組んでいるので、トランザクション内で行われた全ての操作は、データベースの整合性を確保するために、一緒に失敗したり失敗したりすることを保証する必要があります.
MongoDBからの起動v4.4 そして、上記の前に、トランザクションで働くことが可能です、しかし、その前に、MongoDB複製セットは必要です(不足しています:複製セットはあなたが取引をしているあなたの主なMongoDBクラスタのバックアップコピーです.
私はLocalHostに設定MongoDBのレプリカを設定する方法についてのチュートリアルを探していたが、関連する何かを見つけることができませんでした、これは私が試して、研究の日々を保存するには、このブログ記事を書いている理由です.

必要条件


Mac OSではこれらのパッケージのバージョンをインストールします.
➜  ~ node --version
v16.14.2

➜  ~ npm --version
8.5.0

➜  ~ brew --version
Homebrew 3.4.3

➜  ~ mongo --version
MongoDB shell version v5.0.6

# Npm globally installed packages
➜  ~ npm list -g
/usr/local/lib
├── [email protected]
├── [email protected]
└── ...
注意:
  • 変換の変更を確認するには、MongoDBコンパス(MongoDBコンパスMonMonDBのUIです)を持っている必要があります.
  • MongoDBをインストールするコマンドラインを介して行われ、それが必要ですbrew インストール.
  • インストールrun-rs を行うnpm i -g run-rs .
  • The basic installation of MongoDB on localhost is a standalone cluster, so in MongoDB Compass, when you connect to your localhost MongoDB cluster, in the left panel you will see Standalone under CLUSTER.


    あなたのスタンドアローンMongoDBクラスタをレプリカセットに変換する手順

  • MongoDBサービスを停止するbrew services stop mongodb-community (サービスが停止しているかどうかを調べますbrew services list ).
  • 別の端末でsudo run-rs --mongod ( --mongod フラグは、新しいMongoDBのインストールを作成する代わりに、インストール済みのMongoDBバージョンを使用することを意味します.
  • オープンMongoDBコンパスとlocalhostクラスタに接続しますmongodb-community サービスを停止する).
  • MongoDBコンパスの左側のパネルでは、表示する必要がありますSecondary or PrimaryCLUSTER .
  • Congrats :あなたは首尾よくレプリカセットをセットアップしました.
    注意:
  • スタンドアローンMongoDBクラスタに戻って切り替えるときは、レプリカセットに保存されているすべてのデータが失われることを覚えておいてください.そうすれば、あなたはMongoDBのレプリカをデータベース、コレクション、ドキュメントで設定する準備ができているはずです.
  • MongoDBのレプリカセットクラスタを

  • 端末を停止するrun-rs コマンド.
  • (この状態では、run-rs をシャットダウンしてmongodb-community サービスはまた、MongoDBコンパスを見て、シャットダウンしている場合は、左側パネルで表示されますUnknownCLUSTER . あなたがMongoDBコンパスを閉じて、再びそれを開いて、あなたのlocalhostクラスタに接続しようとするならば、それは働きません、そして、あなたは接続誤りを得ますconnect ECONNREFUSED 127.0.0.1:27017 ).
  • MongoDBサービスを再び起動します.brew services start mongodb-community .
  • あなたのMongoDBコンパスに行って、localhostクラスタに接続してください、あなたは左側のパネルで気づくでしょうStandaloneCLUSTER .
  • あなたはスタンドアロンMongoDBクラスタに切り替えました.
    注意:
  • レプリカセットに前後に切り替える場合は、スタンドアローンMongoDBクラスタに保存されたデータは失われません.
  • 私はこれらのステップがあなたのLocalhostマシンでMongoDB Replicatセットをセットアップするのを助けることを望みます.あなたがクラウド上でクラスタを作成した場合(MongoDB Atlassの上で別名)、作成されたクラスタが自動的に設定されているレプリカセットとトランザクションを計算する準備ができて設定されます.
    正直に言うと、これらの手順をWindowsまたはLinux OSで使うことができるかどうかはわからない.
    そして、最後に、私はこの記事を改善するためにどんな提案にでも開いています.