Bagaimana untuk membangunkan API CRUD mudah menggunakan MongoDB
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
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
这会使用npm安装express
,body-parser
和mongoose
三个包。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); });
这段代码首先引入所需的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('产品删除成功!'); } }); });
在这段代码中,我们首先引入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;
这段代码定义了一个简单的产品模型Product
,它有一个名为name
的字符串属性,一个名为price
的数字属性和一个名为description
的字符串属性。将productSchema
模型作为参数传递给mongoose.model()
方法并导出Product
。
第六步:运行服务器
在项目的根目录下,通过以下命令来运行服务器:
$ node server.js
如果一切顺利,你将会在命令行中看到成功连接到数据库和服务器已启动的消息。现在,你可以在浏览器或Postman中访问API的不同路由,如:http://localhost:3000/api/products
Kami akan menggunakan beberapa pakej npm untuk membantu kami membangunkan API CRUD. Jalankan arahan berikut pada baris arahan untuk memasang dependensi:
rrreee
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 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 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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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.

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.

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.

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.

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.

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.

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

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.
