私は最近、オンラインマスターの足跡(コード)をたどり、mongodb データベースへの接続をシミュレートするために、mongdb の基本的な知識を学んでいます。次の記事では、MongoDB データベースに接続するための 2 つの node.js チュートリアルの方法を要約して紹介しています。非常に詳しく紹介されているので、必要な方は参考にしてください。以下を見てみましょう。
はじめに
MongoDB Node.js ドライバーは、公式にサポートされているネイティブの Node.js ドライバーであり、これまでのところ最高の実装であり、MongoDB によって公式にサポートされています。 MongoDB チームは、標準的なアプローチとして MongoDB Node.js ドライバーを採用しました。
npm install mongodb@1.4.3 // MongoDB Node.js驱动程序 npm install mongoose@3.8.8 //mongoose模块
Node.js から MongoDB データベースに接続するには、次の 2 つの方法から選択できます:
mongodb モジュールで提供される mongodbClient クラスをインスタンス化し、このインスタンス化されたオブジェクトを使用して作成し、 mongodb 接続を管理する;
接続するには文字列を使用します
1. クライアント オブジェクトを通じて MongoDB に接続します
MongoDB データベースに接続する最も一般的で最良の方法は、MongoClient オブジェクトをインスタンス化することです。
MongoClient オブジェクト インスタンスを作成するための構文:
MongoClient( server, options );
server: サーバー オブジェクト;
options: データベース接続オプション
上の図に示すように、MongoClient 接続はバックグラウンドサーバーオブジェクト。このオブジェクトの機能は、MongoDB ドライバーがサーバーに接続する方法を定義することです。
次に、例を見てみましょう:
var MongoClient = require('mongodb').MongoClient, Server = require('mongodb').server; // 创建客户端连接对象 var client = new MongoClient( new Server('localhost', 27017, { socketOpations: { connectTimeoutMS: 500 }, poolSize: 5, auto_reconnect: true }, { numberOfRetries: 3, retryMilliSeconds: 500 })); // 打开对服务器端MongoDB数据库的连接 client.open(function(err, client) { if ( err ) { console.log('连接失败!'); } else { var db = client.db('blogdb'); // 建立到数据库blogdb的连接 if ( db ) { console.log('连接成功'); db.authenticate('username', 'pwd', function(err, result) { // 对用户数据库身份进行验证 if ( err ) { console.log('数据库用户身份验证失败'); client.close(); // 关闭对MongoDB的连接 console.log('连接已关闭......'); } else { console.log('用户身份验证通过'); db.logout(function (err, result) { // 关闭对数据库的连接,即退出数据库 if ( !err ) { console.log('退出数据库出错'); } client.close(); // 关闭对MongoDB的连接 console.log( '已关闭连接......' ); }); } }); } } });
注: データベースからログアウトするには、データベース オブジェクトで logout()
メソッドを使用します。これによりデータベースへの接続が閉じられ、Db オブジェクトを使用できなくなります。例: db.logout();
MongoDB への接続を閉じるには、クライアント接続で close()
メソッドを呼び出します (例: client.close) ()コード>。 <code>logout()
方法。这将关闭到该数据库上的连接,你不在可以使用Db对象。例如: db.logout();
而要关闭到MongoDB的连接,要在客户端连接上调用close()
方法,例如: client.close()
。
写入关注
首先,我们在连接数据库的时候会用到一个关于写入关注级别的问题,说白了,个人理解的话就是相当于出现问题的一个处理优先顺序,你可以选择写入数据库之前是否需要你确认之类的,或者发生错误是否忽略之类的等等,如下图:
写 入 级 别 | 说 明 |
---|---|
-1 | 网络错误被忽略 |
0 | 写确认是不必要的 |
1 | 请求写确认 |
2 | 写确认请求跨主服务器和副本集中的一个辅助服务器 |
majority | 写确认是从副本集的主服务器请求的 |
用来创建MongoClient连接的Server对象的选项,如下:
用来创建MongoClient连接的数据库连接选项,如下:
2、通过一个连接字符串连接到MongoDB
这种方式要调用MongoClient类的connect( )
書き込み注意
まず、データベースに接続する際に、書き込み注意レベルについて質問させていただきますが、単刀直入に言うと、以下の問題に対する処理優先度に相当すると考えています。以下に示すように、データベースに入る前に確認する必要があるか、エラーを無視する必要があるかなどを書き込むことができます:
書き込みレベル
説明
0 | |
---|---|
1 | 書き込み確認の要求 |
2 | 書き込み確認要求はプライマリサーバーと1つのセカンダリサーバーにまたがりますレプリカセット内 |
majority | 書き込み確認はレプリカ セットのマスター サーバーから要求されます |
MongoClient 接続の Server オブジェクトを作成するために使用されるオプションは次のとおりです: | |
![]() |
MongoClient 接続の作成に使用されるデータベース接続オプションは次のとおりです: |
![]() |
|
このメソッドでは、MongoClient クラスの connect() メソッドを呼び出す必要があります。接続の構文は次のとおりです: |
mongodb://username:password@host:port/database?opations🎜🎜🎜🎜MongoClient 接続文字列コンポーネント: 🎜オプション🎜🎜説明🎜 🎜🎜🎜🎜 🎜mongodb://🎜🎜 mongodb 接続形式を使用する文字列を指定します。 🎜🎜🎜🎜username🎜🎜 検証に使用されるユーザー名。オプション🎜🎜🎜🎜password🎜🎜 認証に使用するパスワード。オプション🎜🎜🎜🎜host🎜🎜MongoDB サーバーのホスト名またはドメイン名。複数のホスト:ポートの組み合わせを使用して、複数の MongoDB サーバーに接続できます。 例: mongodb://host1:270017、host2://270017、host3:270017/testDB🎜🎜🎜🎜port🎜🎜 MongoDB サーバーへの接続に使用されるポート。デフォルト値は 27017 です。 🎜🎜🎜🎜database🎜🎜 接続するデータベースの名前。 デフォルトは、接続時に admin🎜🎜🎜🎜options🎜🎜 によって使用されるオプションのキーと値のペアです。これらのオプションは、dbOpt パラメーターと serverOpt パラメーターで指定できます 🎜🎜🎜🎜
下面,看一个使用连接字符串方法连接MongoDB数据库的示例:
var MongoClient = require('mongodb').MongoClient; MongoClient.connect('mongodb://mongodb:test@localhost:27017/blogdb', { db: { w: 1, native_parser: false }, server: { poolSize: 5, socketOpations: { connectTimeoutMS: 500 }, auto_reconnect: true }, replSet: {}, mongos: {} }, function(err, db) { if ( err ) { console.log('连接失败!'); } else { console.log('连接成功!'); // 注销数据库 db.logout(function(err, result) { if ( err ) { console.log('注销失败...'); } db.close(); // 关闭连接 console.log('连接已经关闭!'); }); } });
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
以上がNode.js を MongoDB データベースに接続する 2 つの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。

はい、JavaScriptのエンジンコアはCで記述されています。1)C言語は、JavaScriptエンジンの開発に適した効率的なパフォーマンスと基礎となる制御を提供します。 2)V8エンジンを例にとると、そのコアはCで記述され、Cの効率とオブジェクト指向の特性を組み合わせて書かれています。3)JavaScriptエンジンの作業原理には、解析、コンパイル、実行が含まれ、C言語はこれらのプロセスで重要な役割を果たします。

JavaScriptは、Webページのインタラクティブ性とダイナミズムを向上させるため、現代のWebサイトの中心にあります。 1)ページを更新せずにコンテンツを変更できます。2)Domapiを介してWebページを操作する、3)アニメーションやドラッグアンドドロップなどの複雑なインタラクティブ効果、4)ユーザーエクスペリエンスを改善するためのパフォーマンスとベストプラクティスを最適化します。

CおよびJavaScriptは、WebAssemblyを介して相互運用性を実現します。 1)CコードはWebAssemblyモジュールにコンパイルされ、JavaScript環境に導入され、コンピューティングパワーが強化されます。 2)ゲーム開発では、Cは物理エンジンとグラフィックスレンダリングを処理し、JavaScriptはゲームロジックとユーザーインターフェイスを担当します。

JavaScriptは、Webサイト、モバイルアプリケーション、デスクトップアプリケーション、サーバー側のプログラミングで広く使用されています。 1)Webサイト開発では、JavaScriptはHTMLおよびCSSと一緒にDOMを運用して、JQueryやReactなどのフレームワークをサポートします。 2)ReactNativeおよびIonicを通じて、JavaScriptはクロスプラットフォームモバイルアプリケーションを開発するために使用されます。 3)電子フレームワークにより、JavaScriptはデスクトップアプリケーションを構築できます。 4)node.jsを使用すると、JavaScriptがサーバー側で実行され、高い並行リクエストをサポートします。

Pythonはデータサイエンスと自動化により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、データ処理とモデリングのためにNumpyやPandasなどのライブラリを使用して、データサイエンスと機械学習でうまく機能します。 2。Pythonは、自動化とスクリプトにおいて簡潔で効率的です。 3. JavaScriptはフロントエンド開発に不可欠であり、動的なWebページと単一ページアプリケーションの構築に使用されます。 4. JavaScriptは、node.jsを通じてバックエンド開発において役割を果たし、フルスタック開発をサポートします。

CとCは、主に通訳者とJITコンパイラを実装するために使用されるJavaScriptエンジンで重要な役割を果たします。 1)cは、JavaScriptソースコードを解析し、抽象的な構文ツリーを生成するために使用されます。 2)Cは、Bytecodeの生成と実行を担当します。 3)Cは、JITコンパイラを実装し、実行時にホットスポットコードを最適化およびコンパイルし、JavaScriptの実行効率を大幅に改善します。

現実世界でのJavaScriptのアプリケーションには、フロントエンドとバックエンドの開発が含まれます。 1)DOM操作とイベント処理を含むTODOリストアプリケーションを構築して、フロントエンドアプリケーションを表示します。 2)node.jsを介してRestfulapiを構築し、バックエンドアプリケーションをデモンストレーションします。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 中国語版
中国語版、とても使いやすい

WebStorm Mac版
便利なJavaScript開発ツール

ホットトピック









