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的更多相关文章

  1. MongoDB的增删查改基本操作

    MongoDB的增删查改基本操作 先决条件建库.建集合.建文档 连接mongo,如果连接不上什么连接拒绝,输入mongod命令,启动服务后 输入mongo show dbs 显示当前的所有的数据库 一 ...

  2. MongoDB入门学习(三):MongoDB的增删查改

            对于我们这样的菜鸟来说,最重要的不是数据库的管理,也不是数据库的性能,更不是数据库的扩展,而是怎么用好这款数据库,也就是一个数据库提供的最核心的功能,增删查改.         由于M ...

  3. MongoDB实现增删查方法

    1.添加信息 public void addInfo(Infomation infomation) { try{ // TODO Auto-generated method stub //连接Mong ...

  4. asp.net mvc5 step by step(一)——CURD增删查改Demo

    1.  新建一个项目:

  5. MongoDB数据库进阶 --- 增删查改...

    注意: monogdb数据在使用之后必须及时 mongodb.close()否则后台崩溃. 在之前的文章中,我已经介绍了什么事MongoDB以及怎么在windows下安装MongoDB等等基本知识. ...

  6. nodejs连接mysql并进行简单的增删查改

    最近在入门nodejs,正好学习到了如何使用nodejs进行数据库的连接,觉得比较重要,便写一下随笔,简单地记录一下 使用在安装好node之后,我们可以使用npm命令,在项目的根目录,安装nodejs ...

  7. 8天学通MongoDB——第二天 细说增删查改

    原文地址:http://www.cnblogs.com/huangxincheng/archive/2012/02/19/2357846.html 看过上一篇,相信大家都会知道如何开启mongodb了 ...

  8. MongoDB数据库(二):增删查改

    MongoDB数据库的增删查改 1.插入数据 语法: db.集合名称.insert(document) db.table_name.insert({name:'gj',gender:1}) db.ta ...

  9. [MongoDB] MongoDB增删查改

    MongoDB的三元素,数据库.集合.文档,集合就是表,文档就是行 开启MongoDB,cd切换到MongoDB的安装目录下的bin目录里,使用命令mongod 开启,参数:--dbpath 路径,把 ...

随机推荐

  1. STM32 解析futaba S-bus协议

    S-bus为futaba使用的串行通信协议.实际上为串口通信.但是有几点需要注意: 在大端小端上,网上资料都说的不是很清楚: 跟TTL串口信号相比,S-bus的逻辑电平是反的,需用如下电路对电平反相, ...

  2. FastJson使用方法

    FastJson是阿里的一款开源框架,用来快速实现Java的序列化和反序列化. 官方地址:https://github.com/alibaba/fastjson 使用方法演示: 下载jar包,使用ID ...

  3. Ifconfig- Linux必学的60个命令

    1.作用 ifconfig用于查看和更改网络接口的地址和参数,包括IP地址.网络掩码.广播地址,使用权限是超级用户. 2.格式 ifconfig -interface [options] addres ...

  4. 【学术篇】luogu2184贪婪大陆

    题目在这里哦, 戳一下就可以了~ 题目大意: 支持两种操作,区间添加一种新元素,查询区间颜色种数.. 题目标签是线段树啊,我也本来想写一个线段树,后来写不出来……(我太弱了orz) 然后就草率地看了看 ...

  5. 判断JS对象是否为空的几种方式

    .将json对象转化为json字符串,再判断该字符串是否为"{}" var data = {}; var b = (JSON.stringify(data) == "{} ...

  6. 【JZOJ1259】牛棚安排

    description Farmer John的N(1<=N<=1000)头奶牛分别居住在农场所拥有的B(1<=B<=20)个牛棚的某一个里.有些奶牛很喜欢她们当前住的牛棚,而 ...

  7. EF Code First数据库映射规则及配置

    EF Code First数据库映射规则主要包括以下方面: 1.表名及所有者映射 Data Annotation: 指定表名 1 using System.ComponentModel.DataAnn ...

  8. VS2010-MFC(对话框:创建对话框模板和修改对话框属性)

    转自:http://www.jizhuomi.com/software/149.html 对话框,大家应该很熟悉了,在我们常用的软件中大多都有对话框界面,例如,360安全卫士的主界面其实就是个对话框, ...

  9. C++数组或vector求最大值最小值

    可以用max_element()及min_element()函数,二者返回的都是迭代器或指针. 头文件:#include<algorithm> 1.求数组的最大值或最小值 1)vector ...

  10. PAT甲级——A1085 Perfect Sequence

    Given a sequence of positive integers and another positive integer p. The sequence is said to be a p ...