Rumah pangkalan data MongoDB Bagaimana untuk membangunkan API CRUD mudah menggunakan MongoDB

Bagaimana untuk membangunkan API CRUD mudah menggunakan MongoDB

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

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

Cara menggunakan MongoDB untuk membangunkan API CRUD yang mudah

Dalam pembangunan aplikasi web moden, CRUD (tambah, padam, ubah suai, semak) operasi adalah Salah satu fungsi yang sangat biasa dan penting. Dalam artikel ini, kami akan memperkenalkan cara membangunkan API CRUD mudah menggunakan pangkalan data MongoDB dan menyediakan contoh kod khusus.

MongoDB ialah pangkalan data NoSQL sumber terbuka yang menyimpan data dalam bentuk dokumen. Tidak seperti pangkalan data hubungan tradisional, MongoDB tidak mempunyai skema yang telah ditetapkan, yang menjadikan penyimpanan data dan pertanyaan lebih fleksibel. Oleh itu, MongoDB sesuai untuk menyimpan dan memproses sejumlah besar data tidak berstruktur.

Sebelum membangunkan API CRUD, kita perlu memastikan bahawa MongoDB telah dipasang dan dikonfigurasikan dengan betul. Anda boleh memuat turun dan memasang versi terkini MongoDB dari laman web rasmi MongoDB dan konfigurasikannya mengikut panduan rasmi.

Seterusnya, kami akan menggunakan Node.js dan Express.js untuk membangunkan API CRUD kami. Pastikan anda memasang Node.js dan biasa dengan pembangunan Node.js dan Express.js asas. Mari mulakan!

Langkah Pertama: Permulaan Projek
Pertama, buat projek Node.js baharu dan mulakan fail package.json. Jalankan arahan berikut dalam baris arahan:

$ mkdir crud-api
$ cd crud-api
$ npm init -y
Salin selepas log masuk

Ini akan mencipta direktori baharu yang dipanggil crud-api dan memulakan projek Node.js baharu di dalamnya. Pilihan -y akan membuat fail package.json menggunakan tetapan lalai. crud-api的新目录,并在其中初始化一个新的Node.js项目。-y选项将使用默认设置创建package.json文件。

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

$ npm install express body-parser mongoose
Salin selepas log masuk

这会使用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);
});
Salin selepas log masuk

这段代码首先引入所需的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('产品删除成功!');
    }
  });
});
Salin selepas log masuk

在这段代码中,我们首先引入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;
Salin selepas log masuk

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

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

$ node server.js
Salin selepas log masuk

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

Langkah 2: Pasang kebergantungan

Kami akan menggunakan beberapa pakej npm untuk membantu kami membangunkan API CRUD. Jalankan arahan berikut pada baris arahan untuk memasang dependensi:
rrreee

Ini akan memasang express, body-parser dan mongoose menggunakan npm Tiga pakej. express ialah rangka kerja Node.js yang popular, body-parser ialah perisian tengah yang menghuraikan isi permintaan dan mongoose digunakan dengan pangkalan data MongoDB Alat model objek interaktif. #🎜🎜##🎜🎜#Langkah 3: Buat pelayan dan laluan #🎜🎜#Dalam direktori akar projek, buat fail server.js dan tambah kod berikut: #🎜🎜# rrreee #🎜🎜#Kod ini mula-mula memperkenalkan pakej npm yang diperlukan, kemudian mencipta aplikasi Express dan menetapkan port pelayan kepada 3000. Selepas itu, kami menggunakan kaedah mongoose.connect() untuk menyambung ke pangkalan data MongoDB. Sila pastikan bahawa perkhidmatan MongoDB berjalan pada port lalai 27017 mesin tempatan. Seterusnya, kami menyediakan laluan akar terutamanya untuk ujian. Akhir sekali, kami menggunakan kaedah app.listen() untuk memulakan pelayan dan mendengar pada port 3000. #🎜🎜##🎜🎜#Langkah 4: Tentukan model dan laluan #🎜🎜#Kami akan mencipta model pangkalan data ringkas bernama produk dan menulis laluan CRUD yang sepadan. Tambahkan kod berikut dalam fail server.js: #🎜🎜#rrreee#🎜🎜#Dalam kod ini, kami mula-mula memperkenalkan model Product, yang berdasarkan A model MongoDB ringkas untuk mongoose.Schema. Kami kemudiannya menentukan laluan untuk menanyakan semua produk, menanyakan satu produk, mencipta produk baharu, mengemas kini produk dan memadamkan produk. Dalam setiap laluan, kami menggunakan kaedah mongoose yang sepadan untuk berinteraksi dengan pangkalan data MongoDB dan menghantar respons yang sesuai berdasarkan hasil yang dikembalikan. #🎜🎜##🎜🎜#Langkah 5: Tentukan model #🎜🎜#Dalam direktori akar projek, buat direktori models dan cipta product.js dalam dokumen itu. Tambahkan kod berikut dalam fail product.js: #🎜🎜#rrreee#🎜🎜#Kod ini mentakrifkan model produk ringkas Produk, yang mempunyai atribut rentetan A dipanggil name, atribut angka yang dipanggil price dan atribut rentetan yang dipanggil description. Hantar model productSchema sebagai parameter kepada kaedah mongoose.model() dan eksport Product. #🎜🎜##🎜🎜#Langkah 6: Jalankan pelayan #🎜🎜#Dalam direktori akar projek, jalankan pelayan melalui arahan berikut: #🎜🎜#rrreee#🎜🎜#Jika semuanya berjalan lancar, anda akan berada dalam arahan Dalam baris anda melihat mesej Berjaya disambungkan ke pangkalan data dan Pelayan dimulakan. Kini, anda boleh mengakses laluan API yang berbeza dalam penyemak imbas atau Posman, seperti: http://localhost:3000/api/products. #🎜🎜##🎜🎜#Ringkasan#🎜🎜#Dengan MongoDB dan Node.js, kami boleh membangunkan API CRUD ringkas dengan mudah. Dalam artikel ini, kami mempelajari cara mencipta API CRUD mudah menggunakan pangkalan data MongoDB, Node.js dan rangka kerja Express.js serta memberikan contoh kod khusus. Dengan pemahaman yang lebih mendalam tentang MongoDB dan Node.js, anda boleh melanjutkan dan menyesuaikan API anda mengikut keperluan sebenar anda. #🎜🎜#

Atas ialah kandungan terperinci Bagaimana untuk membangunkan API CRUD mudah menggunakan MongoDB. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Versi mana yang biasanya digunakan untuk mongodb? Versi mana yang biasanya digunakan untuk mongodb? Apr 07, 2024 pm 05:48 PM

Adalah disyorkan untuk menggunakan versi terkini MongoDB (kini 5.0) kerana ia menyediakan ciri dan penambahbaikan terkini. Apabila memilih versi, anda perlu mempertimbangkan keperluan fungsian, keserasian, kestabilan dan sokongan komuniti Sebagai contoh, versi terkini mempunyai ciri seperti transaksi dan pengoptimuman saluran paip. Pastikan versi itu serasi dengan aplikasi. Untuk persekitaran pengeluaran, pilih versi sokongan jangka panjang. Versi terkini mempunyai sokongan komuniti yang lebih aktif.

Perbezaan antara nodejs dan vuejs Perbezaan antara nodejs dan vuejs Apr 21, 2024 am 04:17 AM

Node.js ialah masa jalan JavaScript bahagian pelayan, manakala Vue.js ialah rangka kerja JavaScript sisi klien untuk mencipta antara muka pengguna interaktif. Node.js digunakan untuk pembangunan bahagian pelayan, seperti pembangunan API perkhidmatan belakang dan pemprosesan data, manakala Vue.js digunakan untuk pembangunan sisi klien, seperti aplikasi satu halaman dan antara muka pengguna yang responsif.

Di manakah pangkalan data yang dibuat oleh mongodb? Di manakah pangkalan data yang dibuat oleh mongodb? Apr 07, 2024 pm 05:39 PM

Data pangkalan data MongoDB disimpan dalam direktori data yang ditentukan, yang boleh terdapat dalam sistem fail tempatan, sistem fail rangkaian atau storan awan Lokasi khusus adalah seperti berikut: Sistem fail tempatan: Laluan lalai ialah Linux/macOS: /data/db, Windows: C:\data\db. Sistem fail rangkaian: Laluan bergantung pada sistem fail. Storan Awan: Laluan ditentukan oleh pembekal storan awan.

Apakah kelebihan pangkalan data mongodb Apakah kelebihan pangkalan data mongodb Apr 07, 2024 pm 05:21 PM

Pangkalan data MongoDB terkenal dengan fleksibiliti, skalabiliti dan prestasi tingginya. Kelebihannya termasuk: model data dokumen yang membolehkan data disimpan dengan cara yang fleksibel dan tidak berstruktur. Skala mendatar kepada berbilang pelayan melalui sharding. Fleksibiliti pertanyaan, menyokong pertanyaan kompleks dan operasi pengagregatan. Replikasi data dan toleransi kesalahan memastikan lebihan data dan ketersediaan tinggi. Sokongan JSON untuk penyepaduan mudah dengan aplikasi bahagian hadapan. Prestasi tinggi untuk respons pantas walaupun semasa memproses sejumlah besar data. Sumber terbuka, boleh disesuaikan dan percuma untuk digunakan.

Apakah maksud mongodb? Apakah maksud mongodb? Apr 07, 2024 pm 05:57 PM

MongoDB ialah sistem pangkalan data teragih berorientasikan dokumen yang digunakan untuk menyimpan dan mengurus sejumlah besar data berstruktur dan tidak berstruktur. Konsep terasnya termasuk penyimpanan dan pengedaran dokumen, dan ciri utamanya termasuk skema dinamik, pengindeksan, pengagregatan, pengurangan peta dan replikasi. Ia digunakan secara meluas dalam sistem pengurusan kandungan, platform e-dagang, laman web media sosial, aplikasi IoT dan pembangunan aplikasi mudah alih.

Bagaimana untuk membuka mongodb Bagaimana untuk membuka mongodb Apr 07, 2024 pm 06:15 PM

Pada Linux/macOS: Cipta direktori data dan mulakan perkhidmatan "mongod". Pada Windows: Cipta direktori data dan mulakan perkhidmatan MongoDB daripada Pengurus Perkhidmatan. Dalam Docker: Jalankan arahan "docker run". Pada platform lain: Sila rujuk dokumentasi MongoDB. Kaedah pengesahan: Jalankan arahan "mongo" untuk menyambung dan melihat versi pelayan.

Panduan Penggunaan API Oracle: Meneroka Teknologi Antaramuka Data Panduan Penggunaan API Oracle: Meneroka Teknologi Antaramuka Data Mar 07, 2024 am 11:12 AM

Oracle ialah penyedia sistem pengurusan pangkalan data yang terkenal di dunia, dan APInya (Antara Muka Pengaturcaraan Aplikasi) ialah alat berkuasa yang membantu pembangun berinteraksi dan menyepadukan dengan mudah dengan pangkalan data Oracle. Dalam artikel ini, kami akan menyelidiki panduan penggunaan API Oracle, menunjukkan kepada pembaca cara menggunakan teknologi antara muka data semasa proses pembangunan dan menyediakan contoh kod khusus. 1. Oracle

Di manakah fail pangkalan data mongodb? Di manakah fail pangkalan data mongodb? Apr 07, 2024 pm 05:42 PM

Fail pangkalan data MongoDB terletak dalam direktori data MongoDB, iaitu /data/db secara lalai, yang mengandungi .bson (data dokumen), ns (maklumat pengumpulan), jurnal (tulis rekod operasi), wiredTiger (data apabila menggunakan WiredTiger enjin storan ) dan konfigurasi (maklumat konfigurasi pangkalan data) dan fail lain.

See all articles