node.js to raczej Apache + PHP, czyli po prostu serwer HTTP z wbudowanym językiem. Inna rzecz, że node.js nie jest już backendowy tylko po prostu służy do uruchamiania programów naskrobanych w JS. node.js nie ma nic wspólnego z REST API, nawet nie musi robić za serwer HTTP.
Natomiast express.js to faktycznie framework backendowy, ale w sobie nie ma żadnych modułów

każdy moduł trzeba osobno zainstalować (tzw. hipermodularyzacja).
Co do bazy: MySQL, Redis, MongoDB, PostgreSQL… jeśli znajdziesz do jakiejś sterownik, to można użyć

Ogólnie to zwykle w kontekście node mówi się o MEAN stack (MongoDB, Express.js, Angular.js, node.js), ale podmiana jakiegoś elementu jest banalnie prosta.