博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mongodb+nodejs 增删查的demo
阅读量:5797 次
发布时间:2019-06-18

本文共 3510 字,大约阅读时间需要 11 分钟。

1.启动数据库

启动完成后显示 

端口号是27017

 

2。创建数据库 创建一个名为mydb的数据库

   

3.先查询一下当然的用户,再新增一个

   

4.创建数据表,查询所有的表

  db.createCollection("Account")

  

5.新增数据 

  db.account.insert( { _id: 10, type: "misc", item: "card", qty: 15 } )

  其中account是表的名字

  

 6.然后我们就可以结合nodejs+mongodb了

 

这个是本项目的结构

这是setting.js文件

 

 这是result.js文件

base.js文件

user.js文件

 

user.js是一个模型文档不会处理数据

7.在自己做项目中发现方法不是最难的,自己摸索路径跳转对我来说才是难的

我在app.js项目中加了

app.use('/login',require('./routes/login')); 这样跳转到了登录页面
app.use('/users', require('./routes/users')); //这个是用户信息处理总的js

虽然很丑,但是可以完成基本的需求

这是页面的代码

    <%= title %>    

登录

热烈欢迎

手机号:
密码:

8.处理业务逻辑的增加用户,删除用户,查询用户列表 (./routes/users)

var express = require('express');var router = express.Router();console.log("user.js")var UserEntity = require('../models/user').UserEntity;var RestResult = require('../result');router.post('/register',function(req,res,next){  console.log("zhuce")  var restResult = new RestResult();  var mobile = req.body.mobile;  var password = req.body.password;  if(!password || password < 6){    restResult.errorCode = RestResult.ILLEGAL_ARGUMENT_ERROR_CODE;    restResult.errorReason = "密码长度不能少于6拉";    res.send(restResult);    return;  }  //findOne方法,第一个参数数条件,第二个参数是字段投影,第三那个参数是回调函数  UserEntity.findOne({mobile:mobile},'_id',function(err,user){    if(err){    }    if(user){      restResult.errorCode = RestResult.BUSINESS_ERROR_CODE;      restResult.errorReason = "手机号已注册";      res.send(restResult);      return;    }    var registerUser = new UserEntity({mobile:mobile,password:password});    registerUser.save(function(err,row){      if(err){        restResult.errorCode = RestResult.SERVER_EXCEPTION_ERROR_CODE;        restResult.errorReason="服务器有问题";        res.send(restResult);        return;      }      console.log("插入成功");      res.send(restResult);    })  })})router.get('/', function(req, res, next) {  res.render('login', { title: 'Express' });});router.post('/remove',function(req,res,next){  var id = req.body.id;  console.log('id:'+id);  UserEntity.remove({    _id:id  },function(){    console.log('删除成功')    res.send({code:1});  })})//登陆路由router.post('/loginAction',function(req,res,next){  console.log("登录中");  var restResult = new RestResult();  var mobile = req.body.mobile;  console.log("mobile:"+mobile)  console.log("password:"+mobile)  if (!/1\d{10}/.test(mobile)){
//手机号码格式校验 restResult.errorCode = RestResult.ILLEGAL_ARGUMENT_ERROR_CODE; restResult.errorReason = "请填写真确的手机格式"; res.send(restResult); return; } var password = req.body.password; if(!password){ restResult.errorCode = RestResult.ILLEGAL_ARGUMENT_ERROR_CODE; restResult.errorReason = "密码不能为空"; res.send(restResult); return; } UserEntity.findOne({mobile:mobile,password:password},{password:0},function(err,user){ if(err){ restResult.errorCode = RestResult.SERVER_EXCEPTION_ERROR_CODE; restResult.errorReason = "服务器异常"; res.send(restResult); return; } if(!user){ restResult.errorCode = RestResult.BUSINESS_ERROR_CODE; restResult.errorReason = "用户名或密码错误"; res.send(restResult); return; } /* restResult.returnValue = user; res.send(restResult);*/ UserEntity.find({},{},function(e,docs){ res.render('userlist',{ "userlist":docs }); }); //更新最后登陆时间 UserEntity.update({_id:user._id},{$set: {lastLoginTime: new Date()}}).exec(); });});module.exports = router;

9,最后看一下效果

 

 

转载于:https://www.cnblogs.com/myzy/p/5765059.html

你可能感兴趣的文章
MyEclipse中J2ee项目的一些Java文件报错!
查看>>
[Linux] Linux 守护进程的启动方法
查看>>
【Alpha】Daily Scrum Meeting——Day7
查看>>
arguments.callee
查看>>
安卓Visibility属性
查看>>
zabbix 自动发现与snmp监控
查看>>
Python Django 之 登录页面
查看>>
iOS UILabel设置居上对齐,居中对齐,居下对齐
查看>>
C语言之函数调用17—递归法之中的一个般函数的调用(2)
查看>>
关于win7下的iis的一些问题
查看>>
最长公共子串-golang
查看>>
Mycat入门配置_读写分离配置
查看>>
Delphi Memo中禁止汉字
查看>>
我的第一篇博客
查看>>
小属性
查看>>
https://doc.opensuse.org/projects/kiwi/doc/
查看>>
大话无线通信
查看>>
XSLT+XML导出EXCEL,如何设定打印区域(以行数与列数)大小?
查看>>
我第一个篇随笔
查看>>
9.6、魔法常量
查看>>