nodejs+mongodbの件

3515 ワード

一、mongodbの概要
mongodbは分散ファイルストレージに基づくデータベースであり、c++言語で記述され、主にwebアプリケーションに拡張可能な高性能データストレージソリューションを提供するために使用される.
mongodbは関係データベースと非関係データベースの間に介在する製品であり、非関係データベースの中で最も機能が豊富で、最も関係データベースに似ている.サポートされるデータ構造は非常に緩やかで、jsonのようなbson形式であるため、比較的複雑なデータ型を格納することができる.Mongoの最大の特徴は、サポートされているクエリー言語が非常に強力で、その構文はオブジェクト向けのクエリー言語に似ており、リレーショナル・データベースの単一テーブル・クエリーのほとんどの機能を実現することができ、データのインデックス化もサポートしています.
bsonの例:
{
    name: "MongoDB",
    type: "bson",
    data: {
        id: 1,
        code: 123456
    }
}

bsonとjsonの違い:
①より高速な遍歴速度bsonはデータ長をヘッダに保存して検索しやすい
②ある数字をより簡単に修正し、9から10になるとデータ長が変化し、すべての内容が1桁後ろに移動します.bsonはデータ列を指定でき、変更はそのデータ列だけですが、データが整数から整数になると、データが長くなります.
3追加のデータ型bsonを追加するとbyte arrayデータ型が増加し、base 64に転送してjsonとして保存する必要はありません.
分散計算の利点:信頼性(許容誤差):分散計算システムにおける重要な利点の一つは信頼性である.1台のサーバのシステムクラッシュは、残りのサーバには影響しません.
拡張性:分散コンピューティングシステムでは、必要に応じてより多くのマシンを追加できます.
リソース共有:共有データは、銀行、サブスクリプションシステムなどの応用が不可欠です.
柔軟性:このシステムは非常に柔軟であるため、新しいサービスのインストール、実装、デバッグが容易です.
高速化:分散型コンピューティングシステムは、他のシステムよりも高速な処理速度を達成するために、複数のコンピュータのコンピューティング能力を持つことができます.
≪オープン・システム|Open System|emdw≫:オープン・システムであるため、ローカルまたはリモートでサービスにアクセスできます.
パフォーマンスの向上:集中型コンピュータ・ネットワーク・クラスタに比べて、パフォーマンスの向上(およびパフォーマンスの価格比の向上)を実現します.
欠点:ソフトウェアが少ない、ネットワークの問題、セキュリティ
リレーショナル・データベースリレーショナル・データベースとは、リレーショナル・モデルを使用してデータを整理するデータベースで、ユーザーが理解できるように、リレーショナル・データベースという一連の行と列がテーブルと呼ばれ、テーブルのセットがデータベースを構成しています.ユーザーはクエリーによってデータベース内のデータを取得し、クエリーはデータベース内の一部の領域を限定する実行コードです.リレーショナル・モデルは、2 Dテーブル・モデルとして簡単に理解できますが、リレーショナル・データベースは、2 Dテーブルとその関係からなるデータ組織です.リレーショナル・データベース:Oracle、DB 2、MySQL、Microsoft SQL Server、Microsoft Accessなど
非関係データベースとは非関係型、分布式、データがキー値ペアで格納され、構造が固定されていないことを指す.厳密な意味では、単純なデータしか格納できず、物事をサポートしないデータ構造化ストレージ方法の集合不足であるべきである.
二、mongodbの特徴:
1、格納しやすいオブジェクトタイプのデータを集合的に格納する2、モードフリー3、動的クエリのサポート4、完全インデックスのサポートなど
三、mongodbデータモデル
monogoDBは複数のデータベースを構築でき、各データベースには独自の権限と集合があり、異なるデータベースも異なるファイルに配置されます.
1つのMongoDBインスタンスには、データベースのセットが含まれ、1つのDataBaseにはCollection(コレクション)のセットが含まれ、1つのセットにDocument(ドキュメント)のセットが含まれます.1つのDocumentにはfield(フィールド)のセットが含まれており、各フィールドはkey/value pairです.
key:文字列タイプでなければなりません.value:次のタイプを含めることができます.・基本タイプ、例えばstring、int、float、timestamp、binaryなど.●一つのdocument.●配列タイプ.
四、nodejs
Nodejsはv 8エンジンベースのjs実行環境であり、イベント駆動、非ブロックI/Oのモデルを用いて軽量で効率的であり、V 8はGoogle Chromeにサポートを提供するJavaScriptエンジンの名前である.Chromeを使用してブラウズする場合、JavaScriptの処理と実行を担当します.v 8はc++言語で記述され、移植可能であり、Mac、Windows、Linux、その他のシステムで実行可能である.
nodejs commonJsモジュールシステムブラウザ使用es 5モジュール標準nodejs使用require()ブラウザ使用import()
nodejs+mongodb使用
var mongoClient = require('mongodb').mongoClient;
var url = 'mongodb://localhost:27017/runoob'

mongoClient.connects(url, function() {
    if (err) throw err;
    var dbData = db.db('runoob');
    //     
    dbData.createCollection('site', function() {
        db.close()//      
    })
    //     
    var str = {name: "  "};
    dbData.collection('site').insertOne(str, function(err,data) {
        db.close()
    })
    //       insertMany()
    var str2 = {$set: { "url" : "https://www.abc.com" }};
    // str     
    dbData.collection('site').insertMany(str, str2, function(){
        db.close()
    })
    //     find()
    //       find({name: "  "})
    //     updateOne()
    //       updateMany()
    //     deleteOne()
    //       deleteMany()
    //   sort(type)  type = {type: 1}    -1   
    //   find().limit(2)
    //   find().skip(2)
    
})