MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Yeoman, Mongoose и MongoDB скеле

В предишната ни публикация говорихме за започване на работа с Mongoose и MongoDB. В тази публикация ще ви покажем как да използвате Yeoman и да изградите нов проект Mongoose/Express за MongoDB.

Yeoman е инструмент за скелета, който изгражда проекти с помощта на Grunt, Bower и Node. Има моменти, когато в крайна сметка изрязвате и поставяте шаблонен код, за да създадете нов проект. Точно това прави Yeoman, но с една команда и няколко страхотни генератора.

Yeoman използва Grunt като програма за изпълнение на задачи за изпълнение/изграждане/тест. Ако искате да използвате Gulp за същото, можете да проверите Slush. Slush също е инструмент за скеле, но използва Gulp като средство за изпълнение на задачите.

Първи стъпки с Yeoman

За да улесним живота си, ще използваме Super Awesome Yeoman Generator, наречен generator-mongoose , което ще ни помогне при създаването на нов проект, както и ще ни помогне в схемите за скелета.

Този генератор използва Express.js като сървър, HTML за шаблони и оттенък на Bootstrap CSS, за да изглежда нещата добре.

Нека създадем нова папка и да я наречем yoMongoose. CD в ​​папката и стартирайте следното:

За да инсталирате Yeoman:

[sudo] npm install -g yo

За да инсталирате генератор-мангуст:

[sudo] npm install -g generator-mongoose

и накрая, за да изградите нов проект, изпълнете:

йо мангуст

Попълнете въпроса като:

[?] Име на база данни:(myDb) myTestDB[?] Хост на база данни:(localhost) localhost[?] Потребител на база данни:{hit return}[?] Парола за база данни:{hit return}[?] Порт на базата данни:( 27017) 27017[?] Ще използвате ли heroku? (Y/n) n

И Yeoman ще тръгне и ще създаде нов проект за вас. Структурата на вашата папка трябва да се състои от папка /node_modules и public/bower_components. Ако не виждате нито едно от тях, моля, стартирайте npm install и bower install.

За да стартирате приложението, изпълнете:

гръмкане

Това ще стартира от експресния сървър и ще стартира началната страница в браузъра ви по подразбиране. Страницата по подразбиране, която виждате, е списък с маршрути, конфигурирани в приложението.

Върнете се в папката и нека направим бърз преглед на приложението.

  • конфигурация /db.js

    Състои се от конфигурациите на DB и някои опции, с които можете да се забърквате.

  • модели /post.js

    Примерна схема на публикация в блог. Всички други модели, които ще монтираме с подгенератора, ще се покажат тук.

  • обществено /

    Състои се от JavaScript и CSS, необходими за потребителския интерфейс.

  • маршрути /index.js

    Състои се от маршрута по подразбиране, който ще изпрати index.htmlpost.js, и се състои от 5 ключови крайни точки, които ще ви трябват, за да взаимодействате с колекцията от публикации.

  • тест /

    Състои се от теста за Post route и неговите методи.

  • прегледи /

    Състои се от всички шаблони и изгледи, изпратени на клиента.

За да усетите къде вървят нещата в модулното Express приложение, препоръчвам да надникнете в следния ред:

config/db.jsmodels/post.jsroutes/post.jsapp.js

След като приключите, ще изградим скелето на друг модел с име articles с помощта на подгенератора.

Върнете се към терминала/подкана и стартирайте:

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

Горната команда ще създаде тези 3 файла и ще доведе до:

Създавате схема за статия с полетата:заглавие,откъс,съдържание,публикувано,създадена начална заявка към схема за тестови макетни данни...създайте маршрути/article.jscreate models/article.jscreate test/test-article.js 

Models/article.js ще се състои от всички полета, изброени след символа на тръбата в командата. Сладко нали?

За да видите резултата и актуален списък с маршрути, изпълнете:

гръмкане

Разровете се в новогенерираните файлове и с практически нулеви усилия успяхме да генерираме приложение Express/Mongoose.

Надявам се, че имате основно разбиране за приложенията Scaffolding Express/Mongoose.

Благодаря за четенето. Коментирайте.
@arvindr21


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. $unionWith – Еквивалент на MongoDB на UNION ALL

  2. Mongoose:Получете пълен списък с потребители

  3. Битката на базите данни NoSQL - Сравняване на функциите NoSQL на MongoDB и MSSQL

  4. Върнете действителния тип на поле в MongoDB

  5. Актуализиране на вложени масиви в mongodb