sql >> データベース >  >> NoSQL >> MongoDB

ヨーマン、マングース、およびMongoDBスキャフォールディング

    前回の投稿では、MongooseとMongoDBの使用を開始する方法について説明しました。この投稿では、Yeomanを使用して、MongoDB用の新しいMongoose/Expressプロジェクトをスキャフォールディングする方法を紹介します。

    Yoomanは、Grunt、Bower、およびNodeを使用してプロジェクトをスキャフォールディングするスキャフォールディングツールです。新しいプロジェクトを作成するために、ボイラープレートコードを切り取って貼り付けることになる場合があります。これはまさにYeomanが行うことですが、単一のコマンドといくつかの素晴らしいジェネレーターを使用します。

    Yoomanは、実行/ビルド/テストタスクを実行するタスクランナーとしてGruntを使用します。同じようにGulpを使用したい場合は、Slushをチェックしてください。 Slushも足場ツールですが、タスクランナーとしてGulpを使用します。

    ヨーマン入門

    私たちの生活を楽にするために、 generator-mongooseという名前のSuperAwesomeYeomanGeneratorを使用します。 、これは、新しいプロジェクトの設定に役立つだけでなく、足場スキーマにも役立ちます。

    このジェネレーターは、サーバーとしてExpress.jsを使用し、テンプレートを作成するためにHTMLを使用し、見栄えを良くするためにBootstrapCSSを使用しています。

    新しいフォルダを作成して、yoMongooseという名前を付けましょう。フォルダにCDを挿入し、次のコマンドを実行します。

    Yeomanをインストールするには:

    [sudo] npm install -g yo
    

    generator-mongooseをインストールするには:

    [sudo] npm install -g generator-mongoose
    

    最後に、新しいプロジェクトの足場を作るには、次のコマンドを実行します。

    yo mongoose
    

    次のような質問に記入してください:

    [?] Database Name: (myDb) myTestDB
    [?] Database Host: (localhost) localhost
    [?] Database User: {hit return}
    [?] Database Password: {hit return}
    [?] Database Port: (27017) 27017
    [?] Will you be using heroku? (Y/n)  n
    

    そして、Yeomanは立ち去り、新しいプロジェクトの足場を作ります。フォルダ構造は、/node_modulesフォルダとpublic/bower_componentsで構成されている必要があります。どちらも表示されない場合は、npminstallとbowerinstallを実行してください。

    アプリを実行するには、次を実行します:

    grunt
    

    これにより、エクスプレスサーバーが起動し、デフォルトのブラウザでホームページが起動します。表示されるデフォルトのページは、アプリケーションで構成されているルートのリストです。

    フォルダに戻って、アプリの簡単なウォークスルーを見てみましょう。

    • config /db.js

      DB構成といくつかのオプションで構成されています。

    • モデル /post.js

      ブログ投稿のスキーマの例。サブジェネレーターを使用してスキャフォールディングする他のすべてのモデルがここに表示されます。

    • 公開 /

      UIに必要なJavaScriptとCSSで構成されます。

    • ルート /index.js

      index.htmlpost.jsをディスパッチするデフォルトルートで構成され、投稿コレクションとやり取りするために必要な5つの主要なエンドポイントで構成されます。

    • テスト /

      Postルートとそのメソッドのテストで構成されています。

    • ビュー /

      クライアントに送信されるすべてのテンプレートとビューで構成されます。

    モジュラーExpressアプリのどこに行くのかを把握するには、次の項目を順番に確認することをお勧めします。

    config/db.js
    models/post.js
    routes/post.js
    app.js
    

    完了したら、サブジェネレーターを使用して、articlesという名前の別のモデルの足場を作成します。

    ターミナル/プロンプトに戻って実行します:

    yo mongoose:schema "article|title:String,excerpt:String,content:String,published:Boolean,created:Date"
    

    上記のコマンドは、これら3つのファイルを作成し、次のようになります。

    Your creating a schema for article
    With the fields: title,excerpt,content,published,created
    starting request to schematic for test mock data...
    create routes/article.js
    create models/article.js
    create test/test-article.js
    

    models / article.jsは、コマンドのパイプ記号の後にリストされているすべてのフィールドで構成されます。いいね?

    結果と更新されたルートのリストを表示するには、次のコマンドを実行します:

    grunt
    

    新しく生成されたファイルを掘り下げて、実質的にゼロの労力で、Express/Mongooseアプリを生成することができました。

    Scaffolding Express/Mongooseアプリの基本を理解していただければ幸いです。

    読んでくれてありがとう。コメントしてください。
    @arvindr21


    1. ファイルをMongoDBに保存するにはどうすればよいですか?

    2. ビッグデータ処理エンジン–どちらを使用しますか?:パート1

    3. 2つのフィールドを使用したマングースカスタム検証

    4. Laravelでキャッシュファサードを使用しているときにRedisキーが表示されない