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,最后看一下效果

				
时间: 2024-08-26 11:51:50

mongodb+nodejs 增删查的demo的相关文章

Asp.Net Mvc+MongoDB简单增删查改

                                   Asp.Net Mvc+MongoDB简单增删查改 概要:现在很多企业都在使用非关系型的NoSql数据库,其中MongoDB是相当热门的,最近有空就研究了一下,本文写了一套基于Asp.Net Mvc和MongoDB的简单增删查改,本文部分内容是借用其他博文,最后我会贴出出处. 正文: 在控制器的Models中新建一个UserModel模型(其中相当于另开一个类库,类似Dal层) using System; using Syst

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

对于我们这种菜鸟来说,最重要的不是数据库的管理,也不是数据库的性能,更不是数据库的扩展,而是怎么用好这款数据库,也就是一个数据库提供的最核心的功能,增删查改. 因为MongoDB存储数据都是以文档的模式,所以在操作它的数据时,也是以文档为单位的.那么我们实现增删查改也是以文档为基础,不知道文档是什么的同学可以看看上篇介绍的基本概念. 1.插入文档 向MongoDB集合中插入文档的基本方法是insert: 单个插入 > document = {key : value} > db.collecti

Java操作MongoDB增删改查完美Demo

--因为实习工作需要,在学MongoDB,参考了公司的一个MongDB服务类,写了一个整合的Demo,涉及到的大部分的增删改查操作,而且还算规范,给大家参考!源代码:(完整项目文件下载链接:点击打开链接)http://download.csdn.net/detail/zhangliangzi/9555872 使用说明: 一.MongoDB数据库参数配置 1.推荐使用mongodb.cfg.properties配置,则在构造MongoDBService对象的时候只需调用无参构造方法即可自动完成配置

MongoDB 细说增删查改

一: Insert操作 上一篇也说过,文档是采用“K-V”格式存储的,如果大家对JSON比较熟悉的话,我相信学mongodb是手到擒来,我们知道JSON里面Value 可能是“字符串”,可能是“数组”,又有可能是内嵌的一个JSON对象,相同的方式也适合于BSON. 常见的插入操作也就两种形式存在:“单条插入”和“批量插入”. ①  单条插入 先前也说了,mongo命令打开的是一个javascript shell.所以js的语法在这里面都行得通,看起来是不是很牛X. ② 批量插入 这玩意跟“单条插

mongodb -mongoose 增删查改

var mongoose =require('mongoose');var db = mongoose.connect("mongodb://localhost:27001/test");//本地库test 数据库 var testSchem = new mongoose.Schema({ name:{type:String}, age:{type:Number,default:0}, time:{type:Date,default:Date.now}, email:{type:Str

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

1.  新建一个项目: 2.  在Models文件夹新增类. 代码如下: public class Product { [Key] public int Id { get; set; } public string ProductName { get; set; } public decimal Price { get; set; } public string Descript { get; set; } } 注意,这里的特性:[Key]是指定Id为主键.这里要引用 using System.

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

最近在入门nodejs,正好学习到了如何使用nodejs进行数据库的连接,觉得比较重要,便写一下随笔,简单地记录一下 使用在安装好node之后,我们可以使用npm命令,在项目的根目录,安装nodejs中的mysql模块 npm install mysql 在连接数据库之前,要先引入nodejs连接处理mysql的模块 var mysql = require('mysql'); 类似php连接mysql的方式,编写连接代码 //使用nodejs处理mysql的模块,使用创建连接方法,创建与mysq

Android SQLite最简单demo实现(增删查改)

本来不太想写这篇博客的,但是看到网上的关于android数据库操作的博文都讲得很详细,对于像我这样的新手入门了解SQLite的基本操作有一定难度,所以我参考了网上的一些博客文章,并自己亲自摸索了一遍,希望写出这么一篇博文来记录SQLite的最基本操作,同时也希望能够对android的新手们有些帮助. 参考博客:http://www.20864.com/201247/274.html 这里只是一个示范性的demo,并没实现什么具体功能,只实现了对数据库的增删查改操作. 以下是实现demo的步骤:

少量代码带你熟悉MongoDB在Java下的增删查改

我们总不能一直使用cmd对数据库操作,数据库总是要在程序中使用的.今天来说一下怎么通过Java调用MongoDB. 学习一下最基本也是最常用的增删查改语句,这是使用数据库的基础. 注意事项: 1.要打开mongod.exe,程序运行期间要一直开着. 2.Java项目里面要导入mongo的jar包,mongo-版本号-jar. 以下为代码: public class MongoTest { public static void main(String args[]) throws UnknownH