mongodb+nodejs 增删查的demo
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

虽然很丑,但是可以完成基本的需求
这是页面的代码
<!DOCTYPE html>
<html>
<head>
<title><%= title %></title>
<link rel='stylesheet' href='/stylesheets/style.css' />
</head>
<body>
<h1>登录 </h1>
<p>热烈欢迎</p>
<form name="login" method="post" action="/users/loginAction">
<div>
手机号:<input type="text" name ="mobile"/>
</div>
<div>
密码:<input type="text" name ="password"/>
</div>
<button type="submit" value="登录">登录</button>
<input type="submit" formaction="/users/register" value="注册" />
</form>
</body>
</html>
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,最后看一下效果

mongodb+nodejs 增删查的demo的更多相关文章
- MongoDB的增删查改基本操作
MongoDB的增删查改基本操作 先决条件建库.建集合.建文档 连接mongo,如果连接不上什么连接拒绝,输入mongod命令,启动服务后 输入mongo show dbs 显示当前的所有的数据库 一 ...
- MongoDB入门学习(三):MongoDB的增删查改
对于我们这样的菜鸟来说,最重要的不是数据库的管理,也不是数据库的性能,更不是数据库的扩展,而是怎么用好这款数据库,也就是一个数据库提供的最核心的功能,增删查改. 由于M ...
- MongoDB实现增删查方法
1.添加信息 public void addInfo(Infomation infomation) { try{ // TODO Auto-generated method stub //连接Mong ...
- asp.net mvc5 step by step(一)——CURD增删查改Demo
1. 新建一个项目:
- MongoDB数据库进阶 --- 增删查改...
注意: monogdb数据在使用之后必须及时 mongodb.close()否则后台崩溃. 在之前的文章中,我已经介绍了什么事MongoDB以及怎么在windows下安装MongoDB等等基本知识. ...
- nodejs连接mysql并进行简单的增删查改
最近在入门nodejs,正好学习到了如何使用nodejs进行数据库的连接,觉得比较重要,便写一下随笔,简单地记录一下 使用在安装好node之后,我们可以使用npm命令,在项目的根目录,安装nodejs ...
- 8天学通MongoDB——第二天 细说增删查改
原文地址:http://www.cnblogs.com/huangxincheng/archive/2012/02/19/2357846.html 看过上一篇,相信大家都会知道如何开启mongodb了 ...
- MongoDB数据库(二):增删查改
MongoDB数据库的增删查改 1.插入数据 语法: db.集合名称.insert(document) db.table_name.insert({name:'gj',gender:1}) db.ta ...
- [MongoDB] MongoDB增删查改
MongoDB的三元素,数据库.集合.文档,集合就是表,文档就是行 开启MongoDB,cd切换到MongoDB的安装目录下的bin目录里,使用命令mongod 开启,参数:--dbpath 路径,把 ...
随机推荐
- HDU-3068-最长回文-马拉车算法模板题
给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度. 回文就是正反读都是一样的字符串,如aba, abba等 Input输入有多组case,不超过120组,每组输入为 ...
- 19.SimLogin_case06
# 使用自造的cookies登录GitHub import requests from lxml import etree str = '_octo=GH1.1.518803230.153726461 ...
- 一文教会你用Python实现最有效的剪切板实时监控
前言 上网浏览网页的时候,看见好的内容免不了要使用复制粘贴,但是我们看到的内容.心里想要的内容和实际粘贴后的内容往往不一致.数据的获取始于复制,终于粘贴,那么问题来了,在这中间系统做了哪些操作,我们怎 ...
- JS规则 多样化的我(变量赋值)我们使用"="号给变量存储内容,你可以把任何东西存储在变量里,如数值、字符串、布尔值等,
多样化的我(变量赋值) 我们可以把变量看做一个盒子,盒子用来存放物品,那如何在变量中存储内容呢? 我们使用"="号给变量存储内容,看下面的语句: var mynum = 5 ; / ...
- 【学术篇】NOIP2016 D1T3 luogu1850换教室
题目链接:点击这里献出你宝贵的时间(是用来做题不是捐赠Emmmm).. Emmmm我太弱了= = 做完这题我觉得我应该去打星际..这题怎么就有重边了呢.. 这题就是一道期望= =当时考场上好像完全不会 ...
- Luogu P3802 小魔女帕琪(期望)
P3802 小魔女帕琪 题意 题目背景 从前有一个聪明的小魔女帕琪,兴趣是狩猎吸血鬼. 帕琪能熟练使用七种属性(金.木.水.火.土.日.月)的魔法,除了能使用这么多种属性魔法外,她还能将两种以上属性组 ...
- 《OpenCV3编程入门》 札记
图像处理和计算机视觉的区别在于: 图像处理侧重于 "处理"图像 --- 如增强,还原,去噪,分割,等等:而计算机视觉重点在于使用计算机(也许是可移动式的)来模拟人的视觉,因此模拟菜 ...
- data hazard in CPU pipeline
1, background info 5 stages in CPU pipeline: IF, ID, EX, MM, WB IF – Instruction Fetch ID – Instruct ...
- [JZOJ3297] 【SDOI2013】逃考
题目 我发现我现在连题面都懒得复制粘贴了-- 题目大意 在一个矩形中有一堆点,这堆点按照以下规则将矩形瓜分成一堆块: 对于每个坐标,它属于离它最近的点的块. 一个人从某个坐标出发到矩形外面,求经过的最 ...
- Python-基本运算符与流程控制
目录 基本运算符 算术运算符 比较运算符 赋值运算符 逻辑运算符 身份运算符 位运算符 成员运算符 运算符优先级 流程控制 if 判断 单分支结构 双分支结构 多分支结构 while 循环 while ...