mongodb的CRUD

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
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值