Un module de base de données
Fait partie de la section Bases de données avec MongoDB du Journey Node.js de Coddy. Leçon 15 sur 18.
Un fichier qui ouvre la base de données et contient toutes les routes devient difficile à lire, et tout autre fichier ayant besoin de books devrait se connecter à nouveau.
Déplace la connexion dans son propre module. Le code de niveau supérieur d’un module s’exécute une seule fois, la première fois qu’un fichier l’importe, et chaque importation ultérieure obtient les mêmes exports. Ainsi, le client, l’index et les données d’initialisation ne s’exécutent qu’une seule fois, quel que soit le nombre de fichiers qui importent les collections. await de niveau supérieur fonctionne dans un module, et le fichier qui l’importe attend que son exécution soit terminée.
// store.js
import { MongoClient } from 'mongodb';
const client = new MongoClient('mongodb://localhost:27017');
export const orders = client.db('shop').collection('orders');
await orders.createIndex({ number: 1 }, { unique: true });// server.js
import { orders } from './store.js';Défi
Facileserver.jsimporte maintenantbooksetratingsdepuis./db.js; il ne peut donc pas encore démarrer.- Dans
db.js, crée le client, exporte les deux collections, crée l’index ISBN et initialise les livres et les auteurs.
Appuie sur Run : chaque route répond comme avant. Envoie deux fois GET /books : il y a toujours trois livres.
Essayez vous-même
import { MongoClient } from 'mongodb';
import { authorList } from './authors.js';
const bookList = [
{ title: 'Dune', author: 'Frank Herbert', year: 1965, isbn: '9780441013593', genre: 'scifi' },
{ title: 'Kindred', author: 'Octavia E. Butler', year: 1979, isbn: '9780807083697', genre: 'scifi' },
{ title: 'Emma', author: 'Jane Austen', year: 1815, isbn: '9780141439587', genre: 'classic' },
];
// Créez le client ici, exportez les collections books et ratings,
// créez l’index ISBN et remplissez les collections avec bookList et authorList.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Bases de données avec MongoDB
1Documents
Connexion à MongoDBInsertion de documents4Structure
Un module de base de donnéesLa pagination dans la base de données