express|express + mongodb 基础
Express开发web接口
基于Node.js ,快速、开放、极简的web开发框架
http://www.expressjs.com.cn
- 安装
npm install express --save
- 在项目目录下创建server文件夹
- server文件夹下创建server.js
constexpress = require('express');
//新建app
const app = express();
app.get('/',function (req,res) {
res.send('Hello,World!');
});
app.get('/data',function (req,res) {
res.json({name:"Han",course:"Hello"})
});
app.listen(9093,function () {
console.log("服务器运行在9093端口");
});
- 自动重启服务器工具nodemon
npm install -g nodemon
- app.get、app.post分别开发get和post接口
- app.use使用模块
- 代res.send、res.json、res.sendfile响应不同的内容
https://www.mongodb.com
- 使用Homebrew安装mongodb
brew install mongodb
- 项目中使用
npm install mongoose --save
- 启动mongodb,命令行输入
mongod --config /usr/local/etc/mongod.conf
- 【express|express + mongodb 基础】基本配置
const mongoose = require('mongoose');
//连接
const DB_URL="mongodb://localhost:27017/Users";
mongoose.connect(DB_URL);
mongoose.connection.on('connected',function () {
console.log("mongodb connect success!");
});
- Mongoose文档
- mongoose文档类型
- String、Number等数据结构
- 定create、remove、update分别用来增删改的操作
- Find 和 findOne用来查询数据
- 增加数据
//新增数据
users.create({
name: '很厉害的韩同学',
age: 21
}, function (err, doc) {
if (!err) {
console.log(doc);
} else {
console.log(err);
}
});
- 查找数据
// 查找数据
users.find({}, function (err, doc) {
if (!err) {
console.log(doc);
} else {
console.log(err);
}
});
- 查找单条数据
// 查找单条数据
users.findOne({name:"Han"}, function (err, doc) {
if (!err) {
console.log(doc);
} else {
console.log(err);
}
});
- 删除数据
//删除 年龄为21的数据
//result:{n:2,ok:1}n表示删除两条数据 ok:1表示删除成功
users.remove({age: 21}, function (err, doc) {
if (!err) {
console.log(doc);
} else {
console.log(err);
}
});
- 更新数据
//更新数据
//$set可以省略
// n 表示符合条件的行数nModified 表示改动的行数 ok :1 表示更新成功
users.update({name: 'Han'}, {$set: {age: 19}}, function (err, doc) {
if (!err) {
console.log(doc);
} else {
console.log(err);
}
});
Express 和 mongodb结合
- mongodb独立工具函数
- express使用body-parser支持post参数
- 使用cookie-parser存储登录信息cookie
推荐阅读
- MongoDB,Wondows下免安装版|MongoDB,Wondows下免安装版 (简化版操作)
- Python基础|Python基础 - 练习1
- Java|Java基础——数组
- Java基础-高级特性-枚举实现状态机
- 营养基础学20180331(课间随笔)??
- iOS面试题--基础
- HTML基础--基本概念--跟着李南江学编程
- typeScript入门基础介绍
- c++基础概念笔记
- 集体释放