MongoDBでサーバーをシャットダウンする方法(認証有効時の手順)
MongoDBのサーバーを安全に停止するには、シェルから shutdownServer() メソッドを使用します。特に認証(アクセス制御)が有効になっている環境では、事前に管理者権限を持つユーザーでログインしておく必要があります。
基本的なシャットダウン手順
MongoDBをシャットダウンするには、まず admin データベースに切り替えます。
use admin;
実行すると、次のように表示されます。
> use admin; switched to db admin
続いて、以下のコマンドを実行してサーバーを停止します。
> db.shutdownServer();
正常に実行されると、次のような出力が返されます。
server should be down... 2020-01-07T22:40:31.295+0530 I NETWORK [js] trying reconnect to 127.0.0.1:27017 failed 2020-01-07T22:40:32.326+0530 I NETWORK [js] reconnect 127.0.0.1:27017 failed failed
認証が有効な場合の注意点
アクセス制御(認証)が有効化されているMongoDBインスタンスでは、db.shutdownServer() を実行するユーザーに対象権限が必要です。具体的には、hostManager ロールや root ロールなど、shutdown 権限を持つロールが付与されたユーザーで認証を行ってください。
認証が必要な場合は、admin データベースに切り替えた後、以下のように認証します。
> use admin;
switched to db admin
> db.auth("adminUser", "password");
1認証に成功したら、通常どおり db.shutdownServer() を実行すれば、サーバーは安全にシャットダウンされます。権限が不足している場合は「not authorized on admin to execute command」といったエラーが表示されるため、適切なロールを持つユーザーで再接続してください。
-
MongoDBの$push演算子を使って配列に要素を追加する方法
MongoDBの$push演算子とはMongoDBの$push演算子は、ドキュメント内の配列フィールドに対して新しい要素を追加するための更新演算子です。既存の配列の末尾に値を追加できるため、リスト形式のデータを扱う際に非常に便利です。この記事では、実際のコード例を通して、$push演算子の基本的な使い方を解説します。1. コレクションとドキュメントを作成するまず、insertOne()メソッドを使用して、コレクションにドキュメントを挿入します。ここでは「Subjects」という配列フィールドを持つ2つのドキュメントを作成します。> db.demo738.insertOne({Subjec
-
Node.jsからMongoDBに接続する方法!mongodb.connect()の使い方を徹底解説
Node.jsとMongoDBを接続するには Node.jsアプリケーションからMongoDBサーバーに接続する際は、公式の「mongodb」ドライバ(モジュール)が提供する connect() メソッドを使用します。このメソッドは非同期で動作し、接続の成否はコールバック関数またはPromiseを通じて受け取ることができます。 mongodb.connect() の構文 mongodb.connect(path[, callback]) パラメータ path – 接続先MongoDBサーバーのパスです。ホスト名とポート番号を含むURI形式で指定します。 callback – 接続処理の