Mongo for NodeJS developer学習ノート

3119 ワード

このmongo universityの公開授業は今月12日に正式に始まった.名前から分かるように、これは入門級の授業で、nodejsと結びつけてmongodbを紹介しています.nosqlデータベースについてはあまり知りませんが、自分が直接触れたのは伝統的なMySQLかpostgreSQLです.学習の発展方向が徐々にフロントエンドに移行するにつれて、mongoのようにJSONを容易に処理できるデータベースも前進の道で理解しなければならない技術となっている.では、私と一緒にmongoの真相を探ってみましょう.
Week1 - Introduction
第1週は大衆の喜ばしい概括的な紹介である.全体的にmongoには3つの特徴があります.
  • 非関係型.前述したように、mongoはnosql型の非伝統的なデータベースです.
  • mongoは実際にJSONファイルのリポジトリなので、mongoに格納されているのはすべて標準JSONオブジェクトです.
  • プログラム可能.JSONが格納されている以上、簡単にプログラミングして構造を変えることができます.

  • 従来のSQLデータベースと比較して、mongoにはサポートされていない2つの特性があります.
  • JOINSはサポートされていません.関係なく、もちろんJOINはできません.
  • TRANSACTIONSはサポートされていません.この点もJSONの特性に関しては、後のレッスンで詳しく説明します.

  • mongoは主にmongoデータベースとmongo shellから構成されています.データベース部分はこのコースの学習の重点であり、後のコースは徐々に展開されます.mongo shellはgoogle V 8に基づくクライアントで実行されるshellプログラムで、データベースの管理と操作に使用でき、JSプログラミングもサポートされています.mongo shellの概念はnodeに似ていて、クライアントのJS実行環境で実行されています.彼らの違いはmongo shellが同期して実行され、nodeが非同期であることです.
    mongoのインストールは完全に馬鹿化されています.皆さんは自分で公式サイトに行って頭を補いましょう.ここで注意したいのは、できるだけ64ビット版を選択することです.32ビット版はファイルサイズに天然の制限があり、大規模な導入アプリケーションに不便をもたらします.(ただし、このコースでは32ビットで十分です).
    本人はwindowsシステムを使用しないため、windowsインストール構成の部分を見ていません.ここではmac/linuxのみを例に各種操作を説明する.
    mongoのインストールが完了したら、homeディレクトリの下にmongoのデフォルトのストレージパスとしてデータベースディレクトリを作成することをお勧めします.
    mkdir -p /data/db
    

    そして端末にmongodを入力するとmongoデータベースを起動できます.mongo shellの起動命令はmongoで、shellを起動すると>プロンプトの後にデータベース操作を行うことができます.
    ここでは、一般的な操作をいくつか挙げます.
    use db_name             //    db_name   
    db.collection.find()    //  collection        ,              
    db.collection.findOne() //  collection            ,findOne             
    db.collection.insert()  //  collection     JSON  
    show dbs                //        
    list collections        //        collection
    mongorestore dump       //  dump       
    

    findとfindOne操作はクエリー条件を付加することもできますが、最初の週のジョブに対応して、直接使えばいいです.詳しい使い方は後数週間で徐々に紹介されます.
    JSON入門
    私はJSONに対してすでに一定の理解があって、ここでもう詳細を繰り返しません.必要な学生は自分で行ってください.http://www.json.org/基準を問い合わせる.
    簡単に言えば、JSONはキー値シーケンスからなるJSオブジェクトの集合である.JSONにはArrayとmap(オブジェクトとも呼ばれる)の2つの構造しかありませんが、値は任意のタイプでもJSONオブジェクトは任意に複雑なオブジェクトにネストすることができます.
    ここでは、使いやすいJSONツールをいくつか紹介します.
  • JSOnLint validator:JSONオブジェクトの正しさをチェック
  • より使いやすいのはこのJSON parser online:JSONオブジェクトを整理して読みやすくし、正確性チェック機能も付いている
  • Mongoとnode応用
    nodeアプリケーションではmongoを用い,nodejs driverを用いて相互間の通信を行う必要がある.このdriverのインストールも簡単です.
    npm install mongodb
    

    次にnodeアプリケーションのコードに次のものを追加できます.
    var MongoClient = require('mongodb')
    

    mongoのアプリケーションインタフェースを呼び出しに来ました.次に、testデータベースのcollセットから最初のオブジェクトを返して印刷する完全な例を添付します.
    var MongoClient = require('mongodb');
    
    MongoClient.connect('mongodb://localhost:27017/test', function (err, db) {
        if (err) throw err;
        
        db.collection('coll').findOne({}, function (err, doc) {
            if (err) throw err;
            
            console.dir(doc);
            
            db.close();
        });
    });
    

    Nodeに詳しい人にとって、mongoのアプリケーションインタフェースはかなり直感的に操作されています.
    はい、最初の週はここに着きました.宿題はすべて簡単で、10分以内に完全にできます.2週目のCRUDを楽しみましょう.