MongoDB Setup
Published on December 23, 2021
The purpose of this guide is to quickly set up a local copy of MongoDB on Windows for local development purposes. Authentication will not be enabled or covered in this tutorial.
Installation and config
- Install MongoDB Community Edition, the standard configuration is fine.
 - Take note of where your installation's 
binfolder is at, it should be atC:\Program Files\MongoDB\Server\4.2\binby default. - Add it to your environment variables. See guide here.
 - Open your terminal - if you already have it opened, exit and re-open it to reload the enviroment variables.
 - Enter 
mongoto access MongoDB. 
Create a new collection
- Next, create a new collection, use the 
usecommand: 
# To display the database you are using
db
# To switch databases use `use <database>`
# To create a new database, switch to a non-existing database
use dev
# Template
use <database>
Read https://docs.mongodb.com/manual/mongo/ for more information.
Create a new user
- Next, create a user with 
readWriteanddbAdminroles, using thedb.createUser()command: 
# Switch to the database you want to add the user to
use dev
# Create the user with `readWrite` and `dbAdmin` rights
db.createUser(
  {
    user: "devadmin",
    pwd: passwordPrompt(),
    roles: [ "readWrite", "dbAdmin" ]
  }
)
# Template
db.createUser(
  {
    user: <username>,
    pwd: <password>,
    roles: [ "readWrite", "dbAdmin" ]
  }
)
Read https://docs.mongodb.com/manual/reference/method/db.createUser/ for more information.
connection-string format
The connection-string is used to access the MongoDB instance from your applications (i.e. MongooseJS). The format of your connection-string is as follows:
mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[database][?options]]
# Parts in [ and ] are optional
# Example, without authentication
mongodb://localhost:27017/dev
# Example, with authentication
mongodb://devadmin:<password>@localhost:27017/dev
# Replace the <password> with your actual password
If the username or password includes the at sign @, colon :, slash /, or the percent sign % character, use percent encoding. See https://docs.mongodb.com/manual/reference/connection-string/#examples for more information.
Authentication
Given that we are not enabling authentication, you can use either of the above connection-string URI formats.
Read https://docs.mongodb.com/manual/tutorial/enable-authentication/ for more information.
Verify connection-string
To verify your connection-string, simply use mongo <mongoURI>:
# Example, without authentication
mongo mongodb://localhost:27017/dev
# Example, with authentication
mongo mongodb://devadmin:<password>@localhost:27017/dev
Resources
- Original copy of this document at DigiDocs
 - MongoDB's official guide to Install MongoDB Community Edition
 - Architect Ryan's guide to Add to the PATH on Windows 10
 - MongoDB's official guide to the mongo shell
 - MongoDB's official guide to db.createUser()
 - MongoDB's official guide to Connection String URI Format
 - MongoDB's official guide to Enable Access Control