Welcome back! In the first part of this series, we looked at a very “low-level” way to interact with a relational database by sending it raw SQL strings and retrieving the results. We created a very simple Express application that we can use as an example and deployed it on Heroku with a Postgres database.

In this part, we’re going to examine a few libraries which build on top of that foundation, adding layers of abstraction that let you read and manipulate database data in a more “JavaScript-like” way.

Welcome back! In the first part of this series, we looked at a very “low-level” way to interact with a relational database by sending it raw SQL strings and retrieving the results. We created a very simple Express application that we can use as an example and deployed it on Heroku with a Postgres database.
In this part, we’re going to examine a few libraries which build on top of that foundation, adding layers of abstraction that let you read and manipulate database data in a more “JavaScript-like” way. […]