JavaScript を使用して MongoDB を開発する方法

Javascript Wo Shi Yongshite Mongodb Wo Kai Fasuru Fang Fa



Web 開発者にとって MongoDB を使用する最も大きな利点の 1 つは、JavaScript との優れた統合です。 MongoDB は、開発者が JavaScript コードを使用してデータベースと直接対話できるようにするネイティブ JavaScript ドライバーを提供します。 JavaScript で MongoDB アプリケーションの作成を始める前に、マシンに MongoDB Node.js ドライバーをインストールする必要があります。これには次のコマンドを使用する必要があります。

npm i mongodb

このドライバーを使用すると、JavaScript コードから MongoDB と対話し、データベースへの接続、データの挿入、データのクエリ、データの更新などのさまざまな操作を実行できるようになります。







例 1: JavaScript を使用して MongoDB 接続を開発する

まず、JavaScript を使用して MongoDB サーバーとの接続を確立します。これは、前述したように「npm」モジュールを使用して実行できます。



定数 { モンゴクライアント } = 必要とする ( 「モンゴデータベース」 ;

定数 URL = 'mongodb:// 127.0.0.1:27017 ' ;
定数 クライアント = 新しい モンゴクライアント ( URL ;
定数 データベース名 = 「MyDB」 ;

非同期 関数 主要 ( {
クライアントを待ちます。 接続する ( ;
コンソール。 ログ ( 「サーバーに正常に接続されました」 ;
定数 データベース = クライアント。 データベース ( データベース名 ;
定数 コレクション = データベース。 コレクション ( '人' ;

戻る '終わり。' ;
}

主要 (
それから ( コンソール。 ログ
キャッチ ( コンソール。 エラー
ついに ( ( => クライアント。 近い ( ;

まず、「File.js」ファイルの「mongodb」モジュールから必要な MongoClient をインポートします。次に、MongoDB サーバーの接続 URL (url) を定義し、指定された URL を使用して新しい MongoClient インスタンスを作成します。



その後、接続で使用する MongoDB データベースの名前 (dbName) を指定します。次に、非同期 main() 関数が MongoDB サーバー上の主要な操作を処理します。ここでは、await client.connect() を使用して MongoDB サーバーに接続します。これは非同期操作であるため、接続が正常に確立されるまで関数は一時停止します。接続が正常に確立されると、プロンプトに表示されるメッセージを確認できます。 client.db(dbName) を使用して、「dbName」で指定した名前のデータベースへの参照を取得します。





次に、db.collection('persons') を使用して、「persons」という名前のコレクションへの参照を取得します。 main() 関数を定義した後、main() を呼び出して操作を実行します。 main() 関数が正常に解決されると、.then(console.log) を使用して結果 (この場合は「done」文字列) が出力されます。実行中にエラーが発生した場合、エラーをキャッチし、.catch(console.error) を使用して出力します。最後に、.finally(() => client.close()) を使用して、MongoDB クライアント接続が確実に閉じられるようにします。

したがって、プロンプトには、JavaScript ファイルで MongoDB 接続が確立されたというメッセージが表示されます。



例 2: JavaScript を使用した MongoDB ドキュメントの挿入

MongoDB サーバーとの接続が確立されたので、JavaScript で MongoDB クエリを使用できるようになります。ここでは、挿入クエリを適用して単一のドキュメントを挿入します。

定数 { モンゴクライアント } = 必要とする ( 「モンゴデータベース」 ;

定数 URL = 'mongodb:// 127.0.0.1:27017 ' ;
定数 クライアント = 新しい モンゴクライアント ( URL ;
定数 データベース名 = 「MyDB」 ;

非同期 関数 主要 ( {
定数 データベース = クライアント。 データベース ( データベース名 ;
定数 コレクション = データベース。 コレクション ( 「ユーザー」 ;
定数 ドキュメントの挿入 =
回収を待ちます。 挿入1つ ( { 名前 : 「アンドリュー」 : 23 } ;
コンソール。 ログ ( 「文書が挿入されました =」 ドキュメントの挿入 ;
戻る '終わり。' ;
}

主要 (
それから ( コンソール。 ログ
キャッチ ( コンソール。 エラー
ついに ( ( => クライアント。 近い ( ;

main() 関数を、データベース挿入操作を実行する非同期関数として定義します。その中で、MongoClient インスタンスと URL を使用して MongoDB サーバーに接続します。次に、client.db(dbName) を使用して指定されたデータベース (MyDB) にアクセスし、db.collection('users') を使用してデータベースから「users」コレクションを取得します。

その後、collection.insertOne() を使用して、フィールド名が「Andrew」、年齢が 23 歳のドキュメントを「users」コレクションに挿入します。 insertOne() メソッドは、挿入の結果で解決される Promise を返します。追加されたドキュメントは、console.log を使用して表示されます。最後に、MongoDB クライアント接続を閉じます。

次の出力に示すように、MongoDB データベース コレクションに挿入されるドキュメントは正常に挿入されました。

例 3: JavaScript を使用して MongoDB ドキュメントを検索する

同様に、JavaScript を使用して MongoDB の「検索」クエリを適用して、前の例で作成したコレクションからドキュメントを検索できます。

定数 { モンゴクライアント } = 必要とする ( 「モンゴデータベース」 ;

定数 URL = 'mongodb:// 127.0.0.1:27017 ' ;
定数 クライアント = 新しい モンゴクライアント ( URL ;
定数 データベース名 = 「MyDB」 ;

非同期 関数 主要 ( {
定数 データベース = クライアント。 データベース ( データベース名 ;
定数 コレクション = データベース。 コレクション ( 「ユーザー」 ;
定数 findQuery = { 名前 : 「アンドリュー」 } ;
定数 ドキュメントを見つける = 回収を待ちます。 探す ( findQuery toArray ( ;
コンソール。 ログ ( 「ドキュメント =」 ドキュメントを見つける ;
}

主要 (
それから ( コンソール。 ログ
キャッチ ( コンソール。 エラー
ついに ( ( => クライアント。 近い ( ;

最初に、作成した MongoClient インスタンスと指定された URL を使用して MongoDB サーバーに接続するメイン関数からデモを開始します。次に、client.db(dbName) を使用して MyDB データベースにアクセスします。dbName は、以前に定義したデータベース名です。

次に、db.collection('users') を使用して、データベースから「users」コレクションへの参照を取得します。 「findQuery」という名前のクエリ オブジェクトが作成され、取得するドキュメントの名前フィールドが「Andrew」である必要があることが指定されます。その後、collection.find(findQuery) を使用して「users」コレクションに対して「検索」クエリを実行し、一致したドキュメントにカーソルを返します。

「await」キーワードは、続行する前に結果が解決されていることを確認するために、collection.find() の前に使用されます。検索操作の結果は、toArray() を使用してドキュメントの配列に変換され、見つかったドキュメントは「findDoc」変数に格納されます。その後、ドキュメントは console.log を使用してコンソールに記録されます。

その結果、MongoDB コレクションの見つかったドキュメントが実行時に表示されます。

例 4: JavaScript を使用して MongoDB ドキュメントを更新する

次に、JavaScript で「更新」操作を実行して、MongoDB コレクションの指定されたドキュメントを更新します。

定数 { モンゴクライアント } = 必要とする ( 「モンゴデータベース」 ;

定数 URL = 'mongodb:// 127.0.0.1:27017 ' ;
定数 クライアント = 新しい モンゴクライアント ( URL ;
定数 データベース名 = 「MyDB」 ;

非同期 関数 主要 ( {
定数 データベース = クライアント。 データベース ( データベース名 ;
定数 コレクション = データベース。 コレクション ( 「ユーザー」 ;
定数 updateQuery = { 名前 : 「アンドリュー」 } ;
定数 更新名 = { $set : { 名前 : '彼自身' } } ;
定数 更新結果 = 回収を待ちます。 アップデートワン ( updateQuery 更新名 ;
コンソール。 ログ ( 「更新されたドキュメント =」 更新結果 ;
戻る '終わり' ;
}

主要 (
それから ( コンソール。 ログ
キャッチ ( コンソール。 エラー
ついに ( ( => クライアント。 近い ( ;

「users」コレクション内のドキュメントを更新するには、main() 関数を呼び出します。次に、{ name: ‘Andrew’ } を使用して「更新」クエリを準備し、名前フィールドが「Andrew」に等しいドキュメントを検索します。その後、{ $set: { name: 'Sam' } } を使用して、一致したドキュメントの名前フィールドを「Sam」に設定します。

collection.updateOne(updateQuery, updateName) を使用して更新を実行するための「update」クエリと「update」操作を定義します。 updateOne() メソッドは、「update」クエリに一致する最初のドキュメントを更新し、更新の結果を表すオブジェクトを返します。 「updateResult」変数には、更新アクションの結果が含まれます。

次の出力画面には、更新されたクエリの結果が表示されます。

例 5: JavaScript を使用して MongoDB ドキュメントを削除する

最後に、MongoDB の delete メソッドを使用して、JavaScript 内で MongoDB から前のドキュメントを削除します。

定数 { モンゴクライアント } = 必要とする ( 「モンゴデータベース」 ;

定数 URL = 'mongodb:// 127.0.0.1:27017 ' ;
定数 クライアント = 新しい モンゴクライアント ( URL ;
定数 データベース名 = 「MyDB」 ;

非同期 関数 主要 ( {
定数 データベース = クライアント。 データベース ( データベース名 ;
定数 コレクション = データベース。 コレクション ( 「ユーザー」 ;
定数 deleteQuery = { 名前 : '彼自身' } ;
定数 削除結果 = 回収を待ちます。 削除1 ( deleteQuery ;
コンソール。 ログ ( 「削除されたドキュメント =」 削除結果 ;
戻る '終わり' ;
}

主要 (
それから ( コンソール。 ログ
キャッチ ( コンソール。 エラー
ついに ( ( => クライアント。 近い ( ;

削除するドキュメントの条件を指定する「deleteQuery」という名前の「削除」クエリ オブジェクトを作成します。この場合、名前フィールドが「Sam」と等しいドキュメントを検索します。削除クエリを準備した後、コレクション オブジェクトの deleteOne() メソッドを使用して実際の削除操作を適用します。

「deleteQuery」を引数として「deleteOne」に渡します。これにより、クエリで指定された条件を満たす最初の一致ドキュメントが削除されます。 「deleteResult」変数は、削除アクションの結果を保持します。

指定されたドキュメントは、「javascript」ファイルを使用して MongoDB コレクションから削除されます。

結論

これで、MongoDB Node.js ドライバーを介して JavaScript で MongoDB を使用する方法について基本的に理解できました。接続から JavaScript によるドキュメントの削除まで、さまざまな Mongo DB 操作を使用してすべてを実証しました。ここから、より複雑なアプリケーションを構築し、必要に応じて MongoDB を Node.js プロジェクトに統合できます。