一、准备工作

  • 启动mongodb:bin目录下运行

  • 在test数据库里插入一条数据:

二、正式开始

1、通过应用生成器工具 express 快速创建一个应用的骨架,参考Express中文网http://www.expressjs.com.cn/starter/generator.html;

2、这里我创建了一个名叫firstapp的应用:

通过Express生成器就快速生成了如下的应用骨架:

3、express4默认以jade为模板,这里我改用ejs,在package.json文件中的dependencies增加"ejs": "*",这里一并把"mongoose":"*"也添加进来。注:*号会告诉NPM“安装最新版本”。

修改后的文件内容就是这样的:

4、接下来就是修改views里的内容,删掉默认的jade文件,增加index.ejs:

<!DOCTYPE html>
<html>
<head>
<title><%= title %></title>
</head>
<body>
<p>Hi, <%= user.username %></p>
</body>
</html>

这里增加一个error页error.ejs,报错时可以看到错误信息

<!DOCTYPE html>
<html>
<head>
<title>error</title>
</head>
<body>
<h1><%= message %></h1>
<h2><%= error.status %></h2>
<pre><%= error.stack %></pre>
</body>
</html>

5、修改路由文件routes/index.js:

var express = require('express');
var router = express.Router(); var mongoose = require('mongoose'),
Schema = mongoose.Schema; var uri = 'mongodb://localhost/test';
var db = mongoose.createConnection(uri); var User = new Schema({
id : {type: String, index: true },
username : {type: String },
age : {type: String }
}); /* GET users listing. */
router.get('/', function(req, res, next) {
db.model('user', User).findOne({username:"charles"}, function (err, user) {
res.render('index', {title: 'Express', user: user });
});
}); module.exports = router;

这里连接的是test数据库。

6、至此就可以install下载相关包就可以运行了。

运行完后工程里就多了node_modules文件夹,下载好了mongoose、ejs等需要用到的模块。

7、执行:,在浏览器里输入http://localhost:3000/就可以看到结果了。

Express4+Mongodb极简入门实例的更多相关文章

  1. Express4+Mongodb超简单入门实例

    开始前,请确保mongodb已经能正常工作,安装教程:windows下MongoDB的安装及配置 , 请自行安装配置.下面进入正文: 第一步:命令行创建数据库.表,并插入一条数据 命令如下: //创建 ...

  2. MongoDB 极简实践入门

    原作者StevenSLXie; 原链接(https://github.com/StevenSLXie/Tutorials-for-Web-Developers/blob/master/MongoDB% ...

  3. Mongodb极简实践

    MongoDB 极简实践入门 1. 为什么用MongoDB? 传统的计算机应用大多使用关系型数据库来存储数据,比如大家可能熟悉的MySql, Sqlite等等,它的特点是数据以表格(table)的形式 ...

  4. Spring Security极简入门三部曲(中篇)

    目录 Spring Security极简入门三部曲(中篇) 验证流程 Authentication接口 过滤器链 AuthenticationProvider接口: demo时刻 代码讲解 小结 Sp ...

  5. Git 极简入门教程学习笔记

    Git 极简入门教程  http://rogerdudler.github.io/git-guide/index.zh.html 测试用 https://github.com/xxx/BrnShop. ...

  6. .Net Core in Docker极简入门(下篇)

    Tips:本篇已加入系列文章阅读目录,可点击查看更多相关文章. 目录 前言 开始 Docker-Compose 代码修改 yml file up & down 镜像仓库 最后 前言 上一篇[. ...

  7. ElasticSearch极简入门总结

    一,目录 安装es 项目添加maven依赖 es客户端组件注入到spring容器中 es与mysql表结构对比 索引的删除创建 文档的crud es能快速搜索的核心-倒排索引 基于倒排索引的精确搜索. ...

  8. Spring Security极简入门三部曲(上篇)

    目录 Spring Security极简入门三部曲(上篇) 写在前面 为什么要用Spring Security 数据库设计 demo时刻 核心代码讲解 小结 Spring Security极简入门三部 ...

  9. Express + Mongoose 极简入门

    今天尝试使用express + mongoose,构建了一个简单的Hello world,实现以下功能: 定义mongodb使用的Schema,一个User 访问/输出Hello world 访问/i ...

随机推荐

  1. php preg_match 和preg_match_all

    $h3=trim('[我要变强][主流程]整体功能测试点');$matches=array();preg_match_all('/[(.+?)]/', $h3,$matches); print_r($ ...

  2. Easyui获取数据库date数据的显示

    众所周知Oracle数据库中的date与众不同,在Easyui中显示数据库的date类型如果不经过转化为显示为Object.因此需要经过处理. 1.首先你要写转化date的JavaScript < ...

  3. Bootstrap--导航元素

    1.标签形导航 2.胶囊型导航: 3.垂直堆叠形导航: 4.导航加下拉菜单: 5.导航列表: 6.可切换的标签导航:

  4. css hack 兼容性

    做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我们会极不情愿的使用这个不太友好的方式来 达到大家要求的页面表现.我个人是不太推荐使用hack的,要知 ...

  5. (转)在SAE使用Apple Push Notification Service服务开发iOS应用, 实现消息推送

    在SAE使用Apple Push Notification Service服务开发iOS应用, 实现消息推送 From: http://saeapns.sinaapp.com/doc.html 1,在 ...

  6. Android利用setLayoutParams在代码中调整布局(Margin和居中)

    我们平常可以直接在xml里设置margin,如: <ImageView android:layout_margin="5dip" android:src="@dra ...

  7. 一键注册控件的批处理(包含x86 和 x64)

    @echo off if "%PROCESSOR_ARCHITECTURE%"=="x86" goto x86 if "%PROCESSOR_ARCH ...

  8. 怎么设置tomcat管理员的用户名和密码

    我们常常要进入Tomcat的管理界面来进行相应的操作,我们首先得有一个管理员的账户和密码.而Tomcat默认是没有管理员账户的,那么我们该怎么来添加一个管理员账户呢? 如果我们输入错误的Tomcat管 ...

  9. FineUI添加隐藏标题

    添加隐藏标题 窗体前台: <x:Button ID="btnShowHideHeader" runat="server" Icon="Secti ...

  10. angularjs中ng-switch的用法

    <!DOCTYPE html> <html lang="zh-CN" ng-app="app" ng-controller="ctr ...