MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Rusztowania Yeoman, Mongoose i MongoDB

W naszym poprzednim poście mówiliśmy o rozpoczęciu pracy z Mongoose i MongoDB. W tym poście pokażemy Ci, jak używać Yeoman i tworzyć szkielet nowego projektu Mongoose/Express dla MongoDB.

Yeoman to narzędzie do tworzenia rusztowań, które porządkuje projekty za pomocą Grunt, Bower i Node. Są chwile, kiedy kończysz wycinanie i wklejanie kodu szablonowego, aby utworzyć nowy projekt. To jest dokładnie to, co robi Yeoman, ale za pomocą jednego polecenia i kilku niesamowitych generatorów.

Yeoman używa Grunta jako programu uruchamiającego zadania do wykonywania zadań uruchamiania/kompilowania/testowania. Jeśli chcesz użyć Gulpa do tego samego, możesz sprawdzić Slush. Slush jest również narzędziem do tworzenia rusztowań, ale używa Gulpa jako narzędzia do uruchamiania zadań.

Pierwsze kroki z Yeoman

Aby ułatwić nam życie, będziemy używać Super Awesome Yeoman Generator o nazwie generator-mongoose , który pomoże nam w tworzeniu nowego projektu, a także pomoże nam w schematach rusztowań.

Ten generator używa Express.js jako serwera, HTML do tworzenia szablonów i odrobiny Bootstrap CSS, aby wszystko wyglądało dobrze.

Stwórzmy nowy folder i nazwijmy go yoMongoose. CD do folderu i uruchom następujące polecenie:

Aby zainstalować Yeoman:

[sudo] npm install -g yo

Aby zainstalować generator mangusty:

[sudo] npm install -g generator-mongoose

i na koniec, aby zbudować szkielet nowego projektu, uruchom:

yo mongoose

Wypełnij pytanie takie jak:

[?] 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

A Yeoman wyjdzie i przygotuje dla Ciebie nowy projekt. Twoja struktura folderów powinna składać się z folderu /node_modules i publicznego/bower_components. Jeśli nie widzisz żadnego z nich, uruchom npm install i bower install.

Aby uruchomić aplikację, wykonaj:

grunt

Spowoduje to uruchomienie serwera ekspresowego i uruchomienie strony głównej w domyślnej przeglądarce. Domyślna strona, którą widzisz, to lista tras skonfigurowanych w aplikacji.

Wróć do folderu i przyjrzyjmy się krótkiej aplikacji.

  • konfiguracja /db.js

    Składa się z konfiguracji bazy danych i niektórych opcji, z którymi możesz sobie poradzić.

  • modele /post.js

    Przykładowy schemat wpisu na blogu. Tutaj pojawią się wszystkie inne modele, które zbudujemy z podgeneratorem.

  • publiczny /

    Składa się z JavaScript i CSS wymaganych dla interfejsu użytkownika.

  • trasy /index.js

    Składa się z domyślnej trasy, która wyśle ​​plik index.htmlpost.js i składa się z 5 kluczowych punktów końcowych, które będą potrzebne do interakcji z kolekcją postów.

  • test /

    Składa się z testu trasy Post i jej metod.

  • wyświetlenia /

    Składa się ze wszystkich szablonów i widoków wysłanych do klienta.

Aby zorientować się, w jakim kierunku się dzieje w modułowej aplikacji Express, polecam przyjrzeć się następującym tematom w kolejności:

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

Gdy skończysz, połączymy inny model o nazwie artykuły za pomocą podgeneratora.

Powrót do terminala/monituj i uruchom:

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

Powyższe polecenie utworzy te 3 pliki i spowoduje:

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

Modele/artykuł.js będzie składał się ze wszystkich pól wymienionych po symbolu potoku w poleceniu. Słodki, prawda?

Aby zobaczyć wynik i zaktualizowaną listę tras, uruchom:

grunt

Zakop się w nowo wygenerowanych plikach i praktycznie bez wysiłku udało nam się wygenerować aplikację Express/Mongoose.

Mam nadzieję, że masz podstawową wiedzę na temat aplikacji Scaffolding Express/Mongoose.

Dziękuje za przeczytanie. Komentuj.
@arvindr21


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Wyszukiwanie ciągu znaków ze znakami specjalnymi w dokumencie MongoDB

  2. Jak korzystać z puli połączeń MongoDB w AWS Lambda?

  3. Dlaczego hasOwnProperty modelu mangusty zwraca wartość false, gdy właściwość istnieje?

  4. MongoDB Dopasowuje tablicę z typem $?

  5. Mongodb zlicza wszystkie elementy tablicy we wszystkich obiektach spełniających kryteria