Note: This can be a pair programming activity or done independently.
To practice using Mongoose, we will design a small data persisting application to keep track of airport data with different models: Airport, Terminal, Flight, and Passenger. You will have to write the models and then hard code data in your app.js
file according to the requirements below. Since we're not worried about Express or views in this activity, log the results of your data persistence in the console when the file is executed - with node app.js
- so we know what's being saved.
-
Create an Express application with four models: Airport, Terminal, Flight, and Passenger
-
Include Mongoose and create embedded and referenced models:
- Airport
- Name(String)
- country(String)
- terminals(Array of embedded Terminal Objects)
- opened(Date)
- Terminal
- name(String)
- flights(Array of referenced Flight Objects)
- capacity(Number)
- Flight
- from(String)
- to(String)
- airline(String)
- passengers(Array of referenced Passenger Objects)
- Passenger
- firstName(String)
- lastName (String)
- dob (Date)
- Airport
-
Create the following data in
app.js
:- A flight from
CDG France
toJFK New-York, USA
onAmerican Airlines
with no passengers. Assign this object to variable "flight1" - A second flight from
Heathrow UK
toJFK New-York, USA
onBritish Airways
with no passengers. Assign this object to variable "flight2" - An airport called
JFK
in theUSA
opened on a random date in 1990. Assign this object to variable "airport1" - A terminal called
Terminal 1
that ispushed
toairport1
with acapacity of 234324
andtwo flights: flight1 and flight2
- A flight from
-
Save and console.log all the objects and their children in the console - you should see all objects when
node app.js
is executed.
No starter code for this app, create it from scratch !
The app's folder structure should look like this:
├── app.js
├── models
│ ├── airport.js
│ ├── flight.js
│ ├── passenger.js
│ └── terminal.js
├── node_modules
└── package.json
You should see all your objects when logged in the console when node app.js
is executed.