ホームページ >ウェブフロントエンド >jsチュートリアル >Nodejs を使用して mongodb データベースに接続する方法に関する詳細なチュートリアル
この記事では、主に Nodejs を使用して mongodb データベースに接続する実装コードを紹介します。必要な方は参考にしてください。
mongodb 公式の例からの、nodejs を使用した接続の簡単な例です
1. パッケージを作成します。 .json
まず、プロジェクトディレクトリconnect-mongodbを作成し、現在のディレクトリとして
mkdir connect-mongodb cd connect-mongodb
npm init
命令创建package.json
を入力します
npm init
次に、mongodb
npm install mongodb --saveのnodejsバージョンドライバーをインストールします
モンゴデータベースドライバーパッケージは現在のディレクトリのnode_modulesにインストールされます
2. MongoDBサーバーを起動します
MongoDBをインストールし、MongoDBデータベースサービスを起動します。以前の記事、またはMongoDBの公式ドキュメントを参照してください
。 3. MongoDB に接続します
app.js ファイルを作成し、次のコードを追加して、サーバー アドレス 192.168.0.243 および mongodb ポート 27017 上の myNewDatabase という名前のデータベースに接続します
var MongoClient = require('mongodb').MongoClient, assert = require('assert'); // Connection URL var url = 'mongodb://192.168.0.243:27017/myNewDatabase'; MongoClient.connect(url,function(err,db){ assert.equal(null,err); console.log("Connection successfully to server"); db.close(); });
app.js を実行するコマンド ライン
node app.js
4. ドキュメントを挿入します
app.js に次のコードを追加し、insertMany メソッドを使用して 3 つのドキュメントをドキュメント コレクションに追加します
insert コマンドは、次のプロパティを含むオブジェクトを返します:
result MongoDB によって返されるドキュメントの結果
ops _id フィールドが追加されたドキュメント
connection 挿入操作の実行に使用される接続
app.js の次のコードを更新して、insertDocuments メソッドを呼び出します
var insertDocuments = function(db, callback){ // get ths documents collection var collection = db.collection('documents'); // insert some documents collection.insertMany([ {a:1},{a:2},{a:3} ],function(err,result){ assert.equal(err,null); assert.equal(3,result.result.n); assert.equal(3,result.ops.length); console.log("Inserted 3 documents into the collection"); callback(result); }); };
ノード app.js を使用してコマンドラインで実行します
5. すべてのドキュメントをクエリします
findDocuments 関数を追加します
var MongoClient = require('mongodb').MongoClient , assert = require('assert'); // Connection URL var url = 'mongodb://localhost:27017/myproject'; // Use connect method to connect to the server MongoClient.connect(url, function(err, db) { assert.equal(null, err); console.log("Connected successfully to server"); insertDocuments(db, function() { db.close(); }); });
findDocuments 関数は、すべての「ドキュメント」コレクション内のすべてのドキュメントをクエリします。この関数を MongoClient.connect のコールバック関数に追加します
var findDocuments = function(db,callback){ // get the documents collection var collection = db.collection('documents'); // find some documents collection.find({}).toArray(function(err,docs){ assert.equal(err,null); console.log("Found the following records"); console.log(docs); callback(docs); }); };
6. クエリ フィルターを使用してドキュメントをクエリします
Query 'a' のドキュメント:3
var MongoClient = require('mongodb').MongoClient , assert = require('assert'); // Connection URL var url = 'mongodb://localhost:27017/myproject'; // Use connect method to connect to the server MongoClient.connect(url, function(err, db) { assert.equal(null, err); console.log("Connected correctly to server"); insertDocuments(db, function() { findDocuments(db, function() { db.close(); }); }); });
7. ドキュメントの更新
var findDocuments = function(db, callback) { // Get the documents collection var collection = db.collection('documents'); // Find some documents collection.find({'a': 3}).toArray(function(err, docs) { assert.equal(err, null); console.log("Found the following records"); console.log(docs); callback(docs); }); }
updateDocument メソッドは、条件 a が 2 を満たす最初のドキュメントを更新し、 b 属性を追加して、それを次のように設定します。 1.
MongoClient.connectメソッドのコールバックにupdateDocumentメソッドを追加
var updateDocument = function(db,callback){ // get the documents collection var collection = db.collection('documents'); // update document where a is 2, set b equal to 1 collection.updateOne({a:2},{ $set:{b:1} },function(err,result){ assert.equal(err,null); assert.equal(1,result.result.n); console.log("updated the document with the field a equal to 2"); callback(result); }); };
8. ドキュメントを削除
MongoClient.connect(url,function(err,db){ assert.equal(null,err); console.log("Connection successfully to server"); insertDocuments(db,function(){ updateDocument(db,function(){ db.close(); }); }); });
app.jsに追加
var removeDocument = function(db,callback){ // get the documents collection var collection = db.collection('documents'); // remove some documents collection.deleteOne({a:3},function(err,result){ assert.equal(err,null); assert.equal(1,result.result.n); console.log("removed the document with the field a equal to 3"); callback(result); }); };
9. インデックスを作成する
インデックスはアプリケーションのパフォーマンスを向上させることができます。コードの下に、「a」属性のインデックスを追加します
var MongoClient = require('mongodb').MongoClient , assert = require('assert'); // Connection URL var url = 'mongodb://localhost:27017/myproject'; // Use connect method to connect to the server MongoClient.connect(url, function(err, db) { assert.equal(null, err); console.log("Connected successfully to server"); insertDocuments(db, function() { updateDocument(db, function() { removeDocument(db, function() { db.close(); }); }); }); });
app.jsを更新してください
var indexCollection = function(db,callback){ db.collection('documents').createIndex({ a:1 },null,function(err,results){ console.log(results); callback(); }); };
以上がNodejs を使用して mongodb データベースに接続する方法に関する詳細なチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。