Connect Loopback to MongoDB
Last updated
Last updated
Prerequisites: We need to install a database into our Final Project folder. Follow the instructions from below. Go to the next step only if you already have a database source setup
In this step we will be setting up the connection from our mongodb you have installed to our loopback project we installed.
From within you loopback project, final-project-bk folder run:
$ lb datasource
This will being a series of commands.
Enter datasource name: Type mongo and click enter
Select database type: We are presented with a list of database choices. Select MongoDb using the up or down arrows.
Enter Other Credentials: We will have another bunch of options, for host, port and user. These are for if we were using a cloud database. We are BUT we can fill out later manually in the datasources.json file. So just leave blank for now:
Connection url:
Host:
Port:
User:
Password:
Database:
Allow supported Features: Select yes to allow MongoDB v3.1.0 supported features
Note: Pressing enter by default selects Yes, that is why the Y is capitalized when you see (Y/n)
Install loopback-connector: Select yes to install loopback-connector-mongodb@^1.4). This will install what loopback needs to connect to mongodb.
Note: Pressing enter by default selects Yes, that is why the Y is capitalized when you see (Y/n)
A successful install will result in :
In the MongoAtlas Cluster Dashboard:
Click on Connect
Select connect application
Copy the short srv connection string
server/datasources.json
Paste the copied connection string as a value of the “url” property of the mongo datasource object
Connection string example:
mongodb+srv://
admin
:
<password>
@movie-app-7lh3q.mongodb.net/
test
?retryWrites=true&w=majority
Replace the following portions of the string with the database credentials you made earlier:
username (default: admin)
password (default: <PASSWORD>)
database name (default: test)
Note: do not include the <
and >
characters from the password value
Fill in the rest of the property values inside of the mongo datasource object
Successfully created a database
Navigate to ./Final-Project-bk/server/datasources.json
and remove the following line of code:
"useNewUrlParser": true
Most applications need to control who (or what) can access data or call services . Typically, this involves requiring users to login to access protected data, or requiring authorization tokens for other applications to access protected data. With access control we can control which users have access to these respective API endpoints on the backend through requiring an access token as part of the requests.
For simplicity sake we will disable access control, though we will later in the course we will re-enable this feature.
Disable authentication:
Navigate to ./Final-Project-bk/server/boot/authentication.js
and comment out the code on line number 3:
Lets start the server now and check that we can start the server and connect to the database From within your final-project-bk
Successful connection. We can ignore the other warnings for now.
Setup a connection using the loopback command line program to connect to our local mongo database to our loopback project. All the settings for our projects data sources are in datasources.json or Final-Project-bk/server/datasources.json. In here is where we could change the url to point to a cloud database and even have multiple databases. We will be added a database soon but first we have to create one.