Maison  >  Article  >  interface Web  >  Comment nodejs implémente la base de données

Comment nodejs implémente la base de données

下次还敢
下次还敢original
2024-04-21 05:42:47917parcourir

La connexion à une base de données dans Node.js nécessite de choisir un système de base de données (relationnelle ou non relationnelle) puis d'établir une connexion à l'aide de modules spécifiques à ce type. Les modules courants incluent mysql (MySQL), pg (PostgreSQL), mongodb (MongoDB) et redis (Redis). Une fois la connexion établie, vous pouvez utiliser des instructions de requête pour récupérer des données et des instructions de mise à jour pour modifier les données. Enfin, la connexion doit être fermée lorsque toutes les opérations sont terminées pour libérer les ressources. Améliorez les performances et la sécurité en suivant ces bonnes pratiques, telles que l'utilisation du regroupement de connexions, les requêtes paramétrées et la gestion gracieuse des erreurs.

Comment nodejs implémente la base de données

Comment se connecter et utiliser une base de données dans Node.js

Node.js est un environnement d'exécution JavaScript populaire couramment utilisé pour créer des applications Web et des API. Pour stocker et gérer les données, Node.js peut se connecter à divers systèmes de bases de données.

Choisissez un système de base de données

  • Base de données relationnelle (SGBDR) : Par exemple, MySQL, PostgreSQL, adapté aux données structurées et aux requêtes relationnelles.
  • Base de données non relationnelle (NoSQL) : telle que MongoDB et Redis, adaptée aux données non structurées et au stockage clé-valeur.
  • Base de données cloud : telle qu'AWS DynamoDB et Google Cloud Spanner, fournissant des solutions de base de données évolutives et à haute disponibilité.

Établir une connexion

Node.js dispose d'une variété de modules pour interagir avec les bases de données. Voici les modules communs pour chaque type de base de données :

  • MySQL : mysql ou mysql2 mysqlmysql2
  • PostgreSQL:pg
  • MongoDB:mongodb
  • Redis:redis
PostgreSQL :

pg

MongoDB : mongodb

Redis :

redis

Pour établir une connexion, vous pouvez utiliser le modèle de code suivant :

<code class="javascript">const { createConnection } = require('mysql');

const conn = createConnection({
  host: 'localhost',
  port: 3306,
  user: 'root',
  password: '',
  database: 'mydb'
});</code>

Requête et mise à jour des données

Une fois la connexion établie, les données de la base de données peuvent être interrogées et mises à jour. Voici l'exemple de code pour la requête :

<code class="javascript">conn.query('SELECT * FROM users WHERE username = ?', ['jdoe'], (err, rows) => {
  if (err) throw err;

  console.log(rows);
});</code>
Pour mettre à jour les données, vous pouvez utiliser l'exemple de code suivant :
    <code class="javascript">conn.query('UPDATE users SET email = ? WHERE username = ?', ['new@email.com', 'jdoe'], (err, result) => {
      if (err) throw err;
    
      console.log(result.affectedRows);
    });</code>
  • Fermer la connexion
  • Une fois toutes les opérations de base de données terminées, la connexion doit être fermée pour libérer les ressources. Voici comment fermer une connexion MySQL :
  • <code class="javascript">conn.end();</code>
  • Bonnes pratiques🎜🎜🎜Utilisez le regroupement de connexions pour améliorer les performances et l'évolutivité. 🎜🎜Utilisez des requêtes paramétrées SQL pour empêcher les attaques par injection SQL. 🎜🎜Gérez les erreurs avec élégance et implémentez une gestion des erreurs appropriée pour les requêtes asynchrones. 🎜🎜Suivez les meilleures pratiques en matière de bases de données, telles que l'utilisation d'une indexation et d'une normalisation appropriées. 🎜🎜

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

  • Déclaration:
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn