ホームページ > ウェブフロントエンド > jsチュートリアル > Nodejsを使用したmongodbデータベースへの接続の実装

Nodejsを使用したmongodbデータベースへの接続の実装

不言
リリース: 2018-06-30 11:48:28
オリジナル
1311 人が閲覧しました

この記事では、主に Nodejs を使用して mongodb データベースに接続する実装コードを紹介します。必要な方は参考にしてください。

mongodb 公式の例からの、nodejs を使用した接続の簡単な例です

1. パッケージを作成します。 .json

まず、プロジェクトディレクトリ connect-mongodb を作成し、それを現在のディレクトリとして入力します

mkdir connect-mongodb
cd connect-mongodb
ログイン後にコピー

npm init命令创建package.json

npm init
ログイン後にコピー

次に、mongodb

のnodejsバージョンのドライバーをインストールしますリーリー

mon godb driver パッケージは現在のディレクトリのnode_modulesにインストールされます

2. MongoDBサーバーを起動します

MongoDBをインストールし、MongoDBデータベースサービスを起動します。以前の記事、またはMongoDB の公式ドキュメント

3. MongoDB に接続します

app.js ファイルを作成し、サーバー アドレス 192.168.0.243 および mongodb ポート 27017 上の myNewDatabase という名前のデータベースに接続するための次のコードを追加します

npm install mongodb --save
ログイン後にコピー

コマンドラインに次のコマンドを入力してアプリを実行します。js

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();
});
ログイン後にコピー

4. ドキュメントを挿入します

app.js に次のコードを追加し、insertMany メソッドを使用して 3 つのドキュメントを追加します。ドキュメントコレクション

node app.js
ログイン後にコピー

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のコールバック関数に追加します6。 documentQuery '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

に追加します。りー

9. インデックスを作成する インデックスを使用すると、アプリケーションのパフォーマンスが向上します。コードの下に、「a」属性にインデックスを追加します

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);
  });
};
ログイン後にコピー

app.jsを更新します

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();
   });
  });
 });
});
ログイン後にコピー

上記はこの記事の全内容です。皆さんの学習に役立つことを願っています。関連コンテンツの詳細については、お問い合わせください。PHP 中国語 Web サイトをフォローしてください。

関連する推奨事項:

node-mysqlでのSQLインジェクションを防ぐ方法


NodeJsフォームデータ形式でファイルを転送する方法


以上がNodejsを使用したmongodbデータベースへの接続の実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート