node 的删除操作是node remove 某某某
创建后台应用
关注两个文件www指定访问端口和router里面的index.js文件可以指定访问的根路径
post请求
router.post(’./register,function(req,res){
1获取请求参数
req.
2处理
3返回响应数据
router.post('./register,function(req,res){
1获取请求参数
const {username,password}=req.body
2处理
if(username==='admin'){
注册失败,返回失败的响应
res.send({code:1,msg:'此用户已存在'})
}else{
注册成功
res.send({code:0,date:{id:'123},username,password})
}
3返回响应数据
后台应用自动重运行,用到nodemon包
使用mongoose操作mongodb数据库
const md5=require('blueimp-md5')md5加密的函数
1连接数据库
1.1引入mongoose
const mongoose=require(‘mongoose’)
1.2连接数据库(url只有数据库是变化的)
mongoose.connect("mongodb://localhost:27017/test")
1.3获取连接对象
const conn=mongoose.connection
1.4绑定连接完成的监听(用来提示连接成功)
conn.on('connected',function(}{
console.log('数据库连接成功')
}
运行这个文件
在这个文件目录下面 node 文件名
2得到对应集合的model
两个概念文档和集合
文档是对象类型user,存完有_id,一个记录是一个文档,n条记录就是集合,集合是多个文档的数组users。
2.1定义文档结构Schema
const userSchema=mongoose.Schema({
username:{type:String,required:true},
password:{type:String,required:true}})
2.2定义Model
2.1定义文档结构Schema
const userSchema=mongoose.Schema({
username:{type:String,required:true},
password:{type:String,required:true}})
2.2定义Model
const UserModel=mongoose.model('user',userSchema)集合的名字为users
3通过model或者其实例对集合数据进行crud
3.1通过model的实例的save()添加数据
function testSave(){
const userModel=new UserModel({username:'Tom',password:md5('123})
userModel.save(function(error,user){
}
testSave()
3.2通过Model的find和findOne实现查询操作
//查询多个
UserModel.find({_id:'ddjdjc'},function(error,users){})返回的是数组,即使没有相应匹配的ID也返回空数组
//查询一个
UserModel.findOne({_id:'hfeufh'},function(error,user){})返回的是一个对象,没有匹配到的返回null
3.3Model的findByIdAndUpdate()更新某个数据
UserModel.findByIdAndUpdate({_id:'djejefj'},{userName:'jack'},function(error,oldUser){
})
3.4通过Model的remove()删除数据
UserModel.remove({_id:'dfef'},function(error,doc){
n:1/0,ok:1
}