Maison base de données MongoDB Comment développer une API CRUD simple à l'aide de MongoDB

Comment développer une API CRUD simple à l'aide de MongoDB

Sep 19, 2023 pm 12:32 PM
mongodb api crud

如何使用MongoDB开发一个简单的 CRUD API

Comment développer une API CRUD simple à l'aide de MongoDB

Dans le développement d'applications Web modernes, les opérations CRUD (Créer, Supprimer, Modifier, Vérifier) ​​sont l'une des fonctions les plus courantes et les plus importantes. Dans cet article, nous présenterons comment développer une API CRUD simple à l'aide de la base de données MongoDB et fournirons des exemples de code spécifiques.

MongoDB est une base de données NoSQL open source qui stocke les données sous forme de documents. Contrairement aux bases de données relationnelles traditionnelles, MongoDB n'a pas de schéma prédéfini, ce qui rend le stockage et les requêtes de données plus flexibles. MongoDB est donc idéal pour stocker et traiter de grandes quantités de données non structurées.

Avant de développer l'API CRUD, nous devons nous assurer que MongoDB a été installé et configuré correctement. Vous pouvez télécharger et installer la dernière version de MongoDB à partir du site officiel de MongoDB et la configurer selon le guide officiel.

Ensuite, nous développerons notre API CRUD en utilisant Node.js et Express.js. Assurez-vous que Node.js est installé et que vous êtes familier avec le développement de base de Node.js et Express.js. Commençons !

Étape 1 : Initialisation du projet
Tout d'abord, créez un nouveau projet Node.js et initialisez le fichier package.json. Exécutez la commande suivante dans la ligne de commande :

$ mkdir crud-api
$ cd crud-api
$ npm init -y
Copier après la connexion

Cela créera un nouveau répertoire appelé crud-api et y initialisera un nouveau projet Node.js. L'option -y créera un fichier package.json en utilisant les paramètres par défaut. crud-api的新目录,并在其中初始化一个新的Node.js项目。-y选项将使用默认设置创建package.json文件。

第二步:安装依赖项
我们将使用一些npm包来帮助我们开发CRUD API。在命令行中执行以下命令来安装依赖项:

$ npm install express body-parser mongoose
Copier après la connexion

这会使用npm安装expressbody-parsermongoose三个包。express是一个流行的Node.js框架,body-parser是一个解析请求体的中间件,mongoose是用于与MongoDB数据库交互的对象模型工具。

第三步:创建服务器和路由
在项目的根目录下,创建server.js文件,并添加以下代码:

const express = require('express');
const bodyParser = require('body-parser');
const mongoose = require('mongoose');

const app = express();
const port = 3000;

// 连接MongoDB数据库
mongoose.connect('mongodb://localhost:27017/crud-api', { useNewUrlParser: true });
const db = mongoose.connection;
db.on('error', console.error.bind(console, '数据库连接失败:'));
db.once('open', () => {
  console.log('数据库连接成功!');
});

// 设置路由
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

app.get('/', (req, res) => {
  res.send('欢迎使用CRUD API');
});

// 启动服务器
app.listen(port, () => {
  console.log('服务器已启动,端口号:' + port);
});
Copier après la connexion

这段代码首先引入所需的npm包,然后创建一个Express应用程序并设置服务器端口为3000。之后,我们使用mongoose.connect()方法连接到MongoDB数据库。请确保MongoDB服务运行在本地机器的默认端口27017上。接下来,我们设置了一个主要用于测试的根路由。最后,我们使用app.listen()方法启动服务器并监听3000端口。

第四步:定义模型和路由
我们将创建一个名为product的简单数据库模型,并编写对应的CRUD路由。在server.js文件中添加以下代码:

const Product = require('./models/product');

// 查询所有产品
app.get('/api/products', (req, res) => {
  Product.find({}, (err, products) => {
    if (err) {
      res.status(500).send('查询数据库出错!');
    } else {
      res.json(products);
    }
  });
});

// 查询单个产品
app.get('/api/products/:id', (req, res) => {
  Product.findById(req.params.id, (err, product) => {
    if (err) {
      res.status(500).send('查询数据库出错!');
    } else if (!product) {
      res.status(404).send('找不到产品!');
    } else {
      res.json(product);
    }
  });
});

// 创建新产品
app.post('/api/products', (req, res) => {
  const newProduct = new Product(req.body);
  newProduct.save((err, product) => {
    if (err) {
      res.status(500).send('保存到数据库出错!');
    } else {
      res.json(product);
    }
  });
});

// 更新产品
app.put('/api/products/:id', (req, res) => {
  Product.findByIdAndUpdate(req.params.id, req.body, { new: true }, (err, product) => {
    if (err) {
      res.status(500).send('更新数据库出错!');
    } else if (!product) {
      res.status(404).send('找不到产品!');
    } else {
      res.json(product);
    }
  });
});

// 删除产品
app.delete('/api/products/:id', (req, res) => {
  Product.findByIdAndRemove(req.params.id, (err, product) => {
    if (err) {
      res.status(500).send('删除数据库出错!');
    } else if (!product) {
      res.status(404).send('找不到产品!');
    } else {
      res.send('产品删除成功!');
    }
  });
});
Copier après la connexion

在这段代码中,我们首先引入Product模型,该模型是一个基于mongoose.Schema的简单MongoDB模型。然后,我们定义了用于查询所有产品、查询单个产品、创建新产品、更新产品和删除产品的路由。在每个路由中,我们都使用相应的mongoose方法来与MongoDB数据库交互,并根据返回结果发送合适的响应。

第五步:定义模型
在项目的根目录下,创建一个models目录并在其中创建product.js文件。在product.js文件中添加以下代码:

const mongoose = require('mongoose');

const productSchema = new mongoose.Schema({
  name: String,
  price: Number,
  description: String
});

const Product = mongoose.model('Product', productSchema);

module.exports = Product;
Copier après la connexion

这段代码定义了一个简单的产品模型Product,它有一个名为name的字符串属性,一个名为price的数字属性和一个名为description的字符串属性。将productSchema模型作为参数传递给mongoose.model()方法并导出Product

第六步:运行服务器
在项目的根目录下,通过以下命令来运行服务器:

$ node server.js
Copier après la connexion

如果一切顺利,你将会在命令行中看到成功连接到数据库和服务器已启动的消息。现在,你可以在浏览器或Postman中访问API的不同路由,如:http://localhost:3000/api/products

Étape 2 : Installer les dépendances

Nous utiliserons certains packages npm pour nous aider à développer l'API CRUD. Exécutez la commande suivante dans la ligne de commande pour installer les dépendances :
rrreee

Cela utilisera npm pour installer express, body-parser et mongoose Bag . express est un framework Node.js populaire, body-parser est un middleware qui analyse le corps de la requête et mongoose est utilisé avec la base de données MongoDB. Outil de modèle d'objet interactif. 🎜🎜Étape 3 : Créer le serveur et le routage🎜Dans le répertoire racine du projet, créez le fichier server.js et ajoutez le code suivant : 🎜rrreee🎜Ce code introduit d'abord le package npm requis, puis créez une application Express et définissez le port du serveur sur 3000. Après cela, nous utilisons la méthode mongoose.connect() pour nous connecter à la base de données MongoDB. Veuillez vous assurer que le service MongoDB s'exécute sur le port par défaut 27017 de la machine locale. Ensuite, nous avons mis en place une route racine principalement à des fins de test. Enfin, nous utilisons la méthode app.listen() pour démarrer le serveur et écouter sur le port 3000. 🎜🎜Étape 4 : Définir le modèle et le routage🎜Nous allons créer un modèle de base de données simple nommé product et écrire la route CRUD correspondante. Ajoutez le code suivant dans le fichier server.js : 🎜rrreee🎜Dans ce code, nous introduisons d'abord le modèle Product, qui est un modèle basé sur mongoose. Modèle MongoDB simple de Schema . Nous avons ensuite défini des itinéraires pour interroger tous les produits, interroger un seul produit, créer un nouveau produit, mettre à jour un produit et supprimer un produit. Dans chaque itinéraire, nous utilisons la méthode mongoose correspondante pour interagir avec la base de données MongoDB et envoyer des réponses appropriées en fonction des résultats renvoyés. 🎜🎜Étape 5 : Définir le modèle🎜Dans le répertoire racine du projet, créez un répertoire models et créez-y le fichier product.js. Ajoutez le code suivant dans le fichier product.js : 🎜rrreee🎜Ce code définit un modèle de produit simple Product, qui a un nom name Une propriété de chaîne nommé <code>price et une propriété de chaîne nommée description. Passez le modèle productSchema en tant que paramètre à la méthode mongoose.model() et exportez le Product. 🎜🎜Étape 6 : Exécutez le serveur 🎜Dans le répertoire racine du projet, exécutez le serveur via la commande suivante : 🎜rrreee🎜Si tout se passe bien, vous verrez le message indiquant que la base de données a été connectée avec succès et que le serveur a été démarré dans la ligne de commande. Désormais, vous pouvez accéder aux différentes routes de l'API dans un navigateur ou Postman, comme par exemple : http://localhost:3000/api/products. 🎜🎜Résumé🎜Avec MongoDB et Node.js, nous pouvons facilement développer une API CRUD simple. Dans cet article, nous avons appris à créer une API CRUD simple à l'aide d'une base de données MongoDB, Node.js et le framework Express.js, et avons fourni des exemples de code spécifiques. Avec une compréhension plus approfondie de MongoDB et Node.js, vous pouvez étendre et personnaliser votre API en fonction de vos besoins réels. 🎜

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment connecter Navicat à MongoDB Comment connecter Navicat à MongoDB Apr 24, 2024 am 11:27 AM

Pour vous connecter à MongoDB à l'aide de Navicat, vous devez : Installer Navicat Créer une connexion MongoDB : a. Entrez le nom de connexion, l'adresse de l'hôte et le port b. Entrez les informations d'authentification (si nécessaire) Ajoutez un certificat SSL (si nécessaire) Vérifiez la connexion. Enregistrez la connexion

A quoi sert net4.0 A quoi sert net4.0 May 10, 2024 am 01:09 AM

.NET 4.0 est utilisé pour créer une variété d'applications et offre aux développeurs d'applications des fonctionnalités riches, notamment : programmation orientée objet, flexibilité, architecture puissante, intégration du cloud computing, optimisation des performances, bibliothèques étendues, sécurité, évolutivité, accès aux données et mobile. soutien au développement.

Intégration de fonctions et bases de données Java dans une architecture sans serveur Intégration de fonctions et bases de données Java dans une architecture sans serveur Apr 28, 2024 am 08:57 AM

Dans une architecture sans serveur, les fonctions Java peuvent être intégrées à la base de données pour accéder et manipuler les données de la base de données. Les étapes clés comprennent : la création de fonctions Java, la configuration des variables d'environnement, le déploiement de fonctions et le test des fonctions. En suivant ces étapes, les développeurs peuvent créer des applications complexes qui accèdent de manière transparente aux données stockées dans les bases de données.

Comment assurer la haute disponibilité de MongoDB sur Debian Comment assurer la haute disponibilité de MongoDB sur Debian Apr 02, 2025 am 07:21 AM

Cet article décrit comment construire une base de données MongoDB hautement disponible sur un système Debian. Nous explorerons plusieurs façons de garantir que la sécurité des données et les services continueront de fonctionner. Stratégie clé: réplicaset: réplicaset: Utilisez des répliques pour obtenir la redondance des données et le basculement automatique. Lorsqu'un nœud maître échoue, l'ensemble de répliques élise automatiquement un nouveau nœud maître pour assurer la disponibilité continue du service. Sauvegarde et récupération des données: utilisez régulièrement la commande Mongodump pour sauvegarder la base de données et formuler des stratégies de récupération efficaces pour faire face au risque de perte de données. Surveillance et alarmes: déploier les outils de surveillance (tels que Prometheus, Grafana) pour surveiller l'état de course de MongoDB en temps réel, et

Comment configurer l'expansion automatique de MongoDB sur Debian Comment configurer l'expansion automatique de MongoDB sur Debian Apr 02, 2025 am 07:36 AM

Cet article présente comment configurer MongoDB sur Debian System pour réaliser une expansion automatique. Les étapes principales incluent la configuration de l'ensemble de répliques MongoDB et de la surveillance de l'espace disque. 1. Installation de MongoDB Tout d'abord, assurez-vous que MongoDB est installé sur le système Debian. Installez à l'aide de la commande suivante: SudoaptupDaSudoaptInstall-myongoDB-Org 2. Configuration de la réplique MongoDB Ensemble de répliques MongoDB assure la haute disponibilité et la redondance des données, ce qui est la base de la réalisation d'une expansion de capacité automatique. Démarrer le service MongoDB: Sudosystemctlstartmongodsudosys

Parmi les différents frameworks PHP, lequel est le meilleur pour créer des API performantes ? Parmi les différents frameworks PHP, lequel est le meilleur pour créer des API performantes ? Jun 01, 2024 pm 07:56 PM

Pour le développement d'API PHP hautes performances, le choix du meilleur framework dépend du type d'API cible, de la charge attendue et des ressources disponibles. Laravel dispose d'un système de routage rapide, d'un mécanisme de mise en cache puissant et d'un système d'événements intégré, tandis que Symfony dispose d'une architecture modulaire, de tests HTTP hautes performances et d'un planificateur d'événements intégré. ZendFramework fournit un routage à grande vitesse, un cadre de mise en cache intégré et des outils d'analyse comparative prêts à l'emploi.

Comment intégrer des API externes à l'aide de PHP Comment intégrer des API externes à l'aide de PHP May 02, 2024 pm 09:51 PM

Il existe plusieurs façons d'intégrer des API externes dans PHP : Utilisez les extensions cURL pour transmettre des données, par exemple pour récupérer des données ou déclencher des actions. Envoyez et gérez des requêtes HTTP à l'aide de l'API de messagerie HTTP. Simplifiez l'intégration avec des API spécifiques à l'aide des packages Composer.

Comment accéder à Deepseekapi - Deepseekapi Access Call Tutoriel Comment accéder à Deepseekapi - Deepseekapi Access Call Tutoriel Mar 12, 2025 pm 12:24 PM

Explication détaillée de Deepseekapi Access and Call: Quick Start Guide Cet article vous guidera en détail comment accéder et appeler Deepseekapi, vous aidant facilement à utiliser des modèles d'IA puissants. Étape 1: Obtenez la clé de l'API pour accéder au site officiel Deepseek et cliquez sur la "plate-forme ouverte" dans le coin supérieur droit. Vous obtiendrez un certain nombre de jetons gratuits (utilisés pour mesurer l'utilisation de l'API). Dans le menu de gauche, cliquez sur "Apikeys" puis cliquez sur "Créer Apikey". Nommez votre apikey (par exemple, "test") et copiez immédiatement la clé générée. Assurez-vous d'enregistrer correctement cette clé, car elle ne sera affichée qu'une seule fois

See all articles