node+express+mongodb初体验

  从去年11月份到现在,一直想去学习nodejs,在这段时间体验了gulp、grunt、yeomen,fis,但是对于nodejs深入的去学习,去开发项目总是断断续续。

  今天花了一天的时间,去了解整理整个学习思路,以下是我的学习分享,是入门级学习体验适合node+mongodb开发小白,node已玩过很久的大神这篇文章可能不适合。

  开篇来个例子:

  客户端表单页面:

<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <meta charset="UTF-8">
    <title>表单页面</title>
</head>
<body>
    <form action="http://localhost:3000/">
        <input type="text" name="title"/>
        <textarea name="text" id="" cols="30" rows="10"></textarea>
        <input type="submit" />
    </form>
</body>
</html>

  服务器的页面:

var http = require("http");
var open = require("child_process");
var querystring = require("querystring");

var server = http.createServer(function(req,res){
    var post = ‘‘;

    req.on(‘data‘,function(chunk){
        post += chunk;
    });

    req.on(‘end‘,function(){
        post = querystring.parse(post);
        res.writeHead(200,{"Content-Type":"text/html;charset=UTF-8"});
        res.write(post.title);
        res.write(post.text);
        res.end();
    });
}).listen(3000,‘127.0.0.1‘);

open.exec("start http://127.0.0.1:3000");

  这个一个简单的例子,我们实现前台表单提交,后台获取数据。

  通过这个简单的例子,我们可能想要做更复杂的的项目,那我们该如何下手呢,node+express+mongodb:

  第一部分,基本知识点概要

  express--一个简洁而灵活的 node.js Web应用框架

  mongodb--适合node的关系型数据库

  Mongoose -- Mongoose是MongoDB的一个对象模型工具,既类似ORM,让NodeJS更容易操作Mongodb数据库Mongoose文档

  node模版引擎--ejs,jade  node模版引擎的深入探讨

  Web 模板 Jade、EJS、Handlebars 万行代码解释效率比较,Jade 完败 https://cnodejs.org/topic/50e70edfa7e6c6171a1d70fa

  EJS --http://www.embeddedjs.com/ github文档 -- https://github.com/tj/ejs

  Jade —— 源于 Node.js 的 HTML 模板引擎 http://segmentfault.com/a/1190000000357534

  JadeAPI --- http://www.nodeclass.com/api/jade.html#doctype

  mongodb --- http://docs.mongodb.org/manual/ 手册

  MongoDB介绍及安装 --  http://www.cnblogs.com/lipan/archive/2011/03/08/1966463.html

  什么是MongoDB ? ---  http://www.w3cschool.cc/mongodb/mongodb-intro.html

  第二部分,配置开发安装包

   ① 配置package.json --- npm init初始配置package包依赖

{
  "name": "pfan",
  "version": "1.0.1",
  "description": "pfan",
  "main": "app.js",
  "dependencies": {
    "express": "^4.12.4",
    "jade": "^1.10.0",
    "mongoose": "^4.0.3"
  },
  "devDependencies": {
    "body-parser": "^1.12.4"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}

  这里注意:其实配置package.json非常重要,我们写好所需的依赖模块,然后通过 npm install 就可以将参数里面的依赖一起进行安装,这里其实,我们可以在安装 npm install express generator 生成node项目的目录结构和依赖模块的package.json 

   ②快速建立web mvc 目录结构

    Express是一个轻量级、简洁、易用的Node.js Web MVC开发框架
    全局安装,可以快速建立目录结构web mvc目录结构

npm install -g express-generator

  创建 express webmvc目录结构项目

express devexpress 

    ③安装node module包依赖npm install express

npm install express              //web应用框架
npm install jade              //模版引擎
npm install ejs                  //模版引擎
npm install mongoose          //MongoDB的一个对象模型工具,操作更简单
npm install mongodb          //MongoDB的驱动
npm install serve-favicon     //统一设置网站icon
npm install morgan               //HTTP 请求日志中间件
npm install cookie-parser               //cookie解析器
npm install body-parser               //定义数据解析器
npm install bower -g
bower install bootstrap

    注意:提出一个问题,就是我们在命令窗口,执行npm install  会执行package.json里面的包依赖,则我们通过express 项目名称  这样去执行,之后在通过npm install 就可以了执行项目案例里面的依赖,从而安装整个项目框架

    ⑤启动express项目

npm start    //貌似现在的项目变成这样启动了

    第三部分,mongodb的坑  ---mongodb文档(有些老旧的api以作更改)

       1.安装

     首先,安装mongodb,直接解压安装,这里不再赘述。

     下面,我们来讲mongodb和node连接起来,在工程文件夹webapp下新建data用来存放数据

cd node/webapp
mkdir data   //新建data文件用来存放数据

    出现这样的结果,说明连接mongodb成功了!

    2.创建数据库

    进入mongodb的安装目录D:\Program Files\mongodb\bin,敲命令mongo,切换数据库webapp

cd  D:\Program Files\mongodb\bin  //进入目录
mongo           //执行mongo
use  webapp    //使用webapp数据库,切换数据库

    插入一个usercollection表,执行:

db.usercollection.insert({ "username" : "testuser1", "email" : "[email protected]" })

    执行,查看插入的数据,是否成功

db.usercollection.find().pretty()   //查看插入的数据,是否成功

    3.给数据库配置用户名和密码

cd  D:\Program Files\mongodb\bin  //进入目录
mongo           //执行mongo
use  webapp    //使用webapp数据库,切换数据库
db.createUser({createUser:"test",pwd:"test",roles:[{role:"dbOwner",db:"webapp"}]})  //设置用户名密码,老版本用的是db.addUser注意
show users   //webapp现在已存在的用户

    

  最后资源分享:

  express例子:https://github.com/pingfanren/express

  express与数据库的例子:https://github.com/pingfanren/expressSimpleBlog

  博文:http://www.cnblogs.com/myzhibie/

  express例子:https://github.com/nswbmw/N-blog/wiki/_pages

  叶小钗博文:http://www.cnblogs.com/yexiaochai/p/3527418.html

时间: 2024-07-30 13:36:04

node+express+mongodb初体验的相关文章

使用node+express+mongodb实现用户注册、登录和验证功能

无论是手机端还是pc端,几乎都包含登录注册方面功能,今天就使用node+express+mongodb实现一套登录注册功能,这里需要自己去安装MongoDB环境,如果没有安装可以看这篇关于MongoDB安装的步https://www.cnblogs.com/zhoulifeng/p/9429597.html 实现功能 注册 密码加密 登录 校验 token处理 1.环境搭建运行 在目录里安装express和mongoose,并在根目录创建server.js文件和models文件, 在server

Mongodb(二):Mongodb初体验:基本使用

装好Mongodb之后,不管其他,先爽一把再说,细节后面再一点点的说吧. (1):开启服务:C:\mongodb\bin>mongod --dbpath=C:\mongodb\data (2):开启客户端:C:\mongodb\bin>mongo 127.0.0.1:27017 (3):查看所有的数据库:show dbs (4):use命令:use可以用来切换数据库,如果切换的数据库不存在,就会创建一个新的数据库 如上:如果user数据库存在,就会切换到user数据库.如果不存在,就会先创建u

mongodb初体验

今天上午找资料,发现了mongodb,闲来无事就研究了下,本人用的是phpstudy集成包添加mongodb扩展. 1.添加mongo.mongodb扩展 phpstudy集成环境一般用的是32位php,去官网下载32位的mongo.mongodb扩展 mongo:http://pecl.php.net/package/mongo mongodb:http://pecl.php.net/package/mongodb 选择与自己php版本相对的扩展库并下载,解压文件复制里面的.dll文件到php

.Net使用MongoDB初体验

0)基本准备 安装MongoDB驱动(当前文章是基于MongoDB.Driver.dll, v1.7.0.4714) using MongoDB.Bson; using MongoDB.Driver; 1)创建连接 #0)准备连接字符串及db private static readonly string _connectionString = "mongodb://localhost"; private static readonly string _dbName = "te

asp.net 使用 MongoDB 初体验

首先:驱动 如果asp.net 想使用MongoDB,.net没有自带的链接类.得用第三方或官方的链接类. 当然有很多种驱动,我就不一一介绍了. 今天我就介绍一个我比较常用的驱动-----MongoDB. 接下来,我们还要去下载MongoDB的C#驱动,它可以让我们在C#中使用MongoDB .下载地址:https://github.com/samus/mongodb-csharp 我们在C#访问MongoDB所需的驱动就是项目MongoDB了.编译这个项目就能得到了,文件名:MongoDB.d

【Node.js】 初体验

1.新建一个app.js文件 2.使用npm install http 导入http模块 3.直接上代码 //引入http模块 var http = require('http'); //创建服务器 var app=http.createServer(function (request, response) { // 发送 HTTP 头部 // HTTP 状态值: 200 : OK // 内容类型: text/plain response.writeHead(200, {'Content-Typ

使用nodejs+express+mongodb开发web的例子

介绍:简单的介绍下nodejs+express+mongodb这三者. nodejs:是运行在服务器端的程序语言,表面上看过去就是javascript一样的东西,实际是由c++开发是服务器语言. express:是nodejs的一种web框架,node有很多的开源框架,express是一个大神开发的(这尊神已经移驾到go语言的开发去了).express可以让你更方便的操作node(因为直接用nodejs写web比较麻烦,nodejs是事件驱动的,所以有很多异步回调,写多了就看着晕...) mon

【转】nodejs+express+mongodb简单的例子

简单的介绍下node+express+mongodb这三个东西.node:是运行在服务器端的程序语言,表面上看过去就是javascript一样的东西,但是呢,确实就是服务器语言,个人觉得在一定层次上比c灵活,java就不提了.反正你只要认为node可以干很多事就行了,绝对不只是web开发.express:这货呢,就是node的一种框架,node有很多的开源框架,express是一个大神开发的(这尊神已经移驾到go语言的开发去了).express可以让你更方便的操作node(因为原生的node写起

nodejs+express+mongodb简单的例子

简单的介绍下node+express+mongodb这三个东西.node:是运行在服务器端的程序语言,表面上看过去就是javascript一样的东西,但是呢,确实就是服务器语言,个人觉得在一定层次上比c灵活,java就不提了.反正你只要认为node可以干很多事就行了,绝对不只是web开发.express:这货呢,就是node的一种框架,node有很多的开源框架,express是一个大神开发的(这尊神已经移驾到go语言的开发去了).express可以让你更方便的操作node(因为原生的node写起