Node.js permet d'utiliser facilement toutes sortes de databases : SQL, NoSQL etc...
https://github.com/felixge/node-mysql
https://github.com/mongodb/node-mongodb-native
Pour la plupart des applications, il est préférable d'utiliser une base NoSQL telle que MongoDB pour bénéficier des avantages suivants :
L'absence de schéma statique permet de s'adapter rapidement aux nouveaux besoins.
La scalability grâce au sharding.
Syntaxe simplifiée.
Map/Reduce.
...
Comme dans les autres langages, il est fortement recommandé d'utiliser une couche d'abstraction pour des raisons de factorisation, simplification et sécurité.
const Sequelize = require('sequelize');const sequelize = new Sequelize('database', 'username', 'password');const User = sequelize.define('User', {firstName: Sequelize.STRING,lastName: Sequelize.STRING});const main = async () => {await sequelize.sync();const userModel = await User.create({firstName: 'Foo', lastName: 'BAR'});const user = user.get({plain: true})};main();
const mongoose = require('mongoose');mongoose.connect('mongodb://localhost/test');const User = mongoose.model('User', {firstName: String,lastName: String});const foo = new User({firstName: 'Foo',lastName: 'BAR'});await foo.save();