在上一篇文章中,把前端框架搭建好了,现在进行后端服务器的搭建,选择了node.js的express框架搭建服务器和mongodb数据库作为数据存储。
一、express的配置
1.通过命令生成express项目
express demo
npm install安装包之后的项目结构为:
2.在当前目录下创建config文件夹(用于放置相关配置文件),并在文件夹中创建文件【config.js】和【mongoose.js】文件,文件中代码分别如下:
// config.js
// accountName与password为个人设置的mongodb用户名与密码(如何配置:https://www.cnblogs.com/JennySchecter/p/8540832.html)
module.exports = { mongodb: 'mongodb://accountName:password@localhost:27017/demo' }
// mongoose.js
const mongoose = require('mongoose');
const config = require('./config');
module.exports = () => {
mongoose.connect(config.mongodb); // 连接mongoDB数据库
var db = mongoose.connection;
db.on('error', () => { console.error('连接错误:') });
db.once('open', (cb) => {
console.log('MongoDB连接成功!');
});
return db;
}
3.在根目录下创建models文件夹,并在文件夹中创建文件【products.js】(根据个人需求定义对应文件)
var mongoose = require('mongoose');
var productsSchema = new mongoose.Schema({
name: String,
price: Number,
quantity: Number,
});
module.exports = mongoose.model('products', productsSchema);
4.在routes文件夹下创建对应的【products.js】文件
var express = require('express');
var router = express.Router();
var Product = require('../models/products');
// 新增产品
router.post('/', async function (req, res) {
// 获取客户端请求的json数据
const data = req.body;
// 插入数据到产品表集合中
const product = await Product.create(data)
res.json(product)
})
// 查询所有产品记录
router.get('/', async function (req, res) {
const data = await Product.find().sort({ _id: -1 })
res.json(data)
})
// 根据title名称查询指定的产品信息
router.get('/:name', async function (req, res) {
const name= req.params.name;
Product.find({ "name": name}, function (err, doc) {
if (err) {
console.log(err)
} else {
res.json(doc)
}
})
})
module.exports = router;
5.在app.js文件中引入相关路由文件
// ...
// ...
// ...
// 引入链接数据库方法
var connection = require('./config/mongoose');
var db = connection();
// ...
// ...
// 引入路由文件
var productsRouter = require('./routes/products');
// ...
// ...
// ...
// 使用路由文件
app.use('/products', productsRouter);
// ...
// ...
module.exports = app;
此时服务器已经搭建好了,现在对数据库进行配置
二、mongodb的配置
【mongodb详细的安装运行步骤,百度即可(个人参考: https://www.cnblogs.com/best/p/6212807.html)】
以管理员身份运行命令提示符,执行net start mongodb命令启动mongodb服务
express项目下运行npm start命令,启动服务器
相关地址可查看对应数据