Express4+Mongodb超简单入门实例
开始前,请确保mongodb已经能正常工作,安装教程:windows下MongoDB的安装及配置 , 请自行安装配置。下面进入正文:
第一步:命令行创建数据库、表,并插入一条数据
命令如下:
//创建数据库
use blog //创建一张表,并插入一条数据
db.users.insert({"name":"zhangangs","emali":"zhangangs@163.com","age":""}); //查看数据
db.users.find();

注意:mongodb在自动创建集合的时候会自动加上s,手动创建的时候建议加上, (博主刚从这个坑里爬起来~~) 使用mongoose过程中遇到的疑惑(已经解决)
第二步:安装express+Mongoose(默认你已经安装好了nodejs)
//全局安装express
npm install express -g //安装express全局生成器,可以自动生成项目文件
npm install express-generator -g
下面在当前工作目录生成一个叫做blog的项目,并采用ejs模版。
// 默认是jade模版, -e就是采用ejs模版
express -e blog
然后安装所有依赖:
//进入项目文件夹
cd blog //安装所有依赖
npm install
windows平台下面启动项目,
//官方的方法,因该是调试模式,没深究
set DEBUG=blog $ npm start //直接启动
npm start
然后在游览器中打开http://localhost:3000/就可以看到应用了,到这里,express算是安装完成。
安装Mongoose 模块
进入当前项目根目录,输入:
//安装Mongoose, --save把Mongoose模块加入到项目依赖
npm install mongoose --save
安装完成package.json 文件如下:

Mongoose模块安装完成!
第三步:express操作mongodb
1、修改route/index.js
var express = require('express');
var router = express.Router();
//mongodb
var mongoose = require('mongoose');
mongoose.Promise = global.Promise;
var conn = mongoose.connect('mongodb://127.0.0.1:27017/blog');
var User = new mongoose.Schema({
name: String,
email: String,
age: String
});
var myModel = conn.model('user', User);
/* GET index listing. */
router.get('/', function(req, res, next) {
myModel.findOne({name:"zhangangs"}, function (err, user) {
console.log(user);
res.render('index', {title: 'Express', user: user });
});
});
module.exports = router;
修改wiew/index.ejs
<!DOCTYPE html>
<html>
<head>
<title><%= title %></title>
<link rel='stylesheet' href='/stylesheets/style.css' />
</head>
<body>
<h1><%= title %></h1>
<p>姓名:<%= user.name %></p>
<p>邮箱:<%= user.email %></p>
<p>年龄:<%= user.age %></p>
</body>
</html>
重启服务器,刷新页面,效果如下:

完成,(>_<)
博主亲测可用。
Express4+Mongodb超简单入门实例的更多相关文章
- Express4+Mongodb极简入门实例
一.准备工作: 1.启动mongodb:bin目录下运行 2.在test数据库里插入一条数据: 二.正式开始: 1.通过应用生成器工具 express 快速创建一个应用的骨架,参考Express中文网 ...
- 程序员,一起玩转GitHub版本控制,超简单入门教程 干货2
本GitHub教程旨在能够帮助大家快速入门学习使用GitHub,进行版本控制.帮助大家摆脱命令行工具,简单快速的使用GitHub. 做全栈攻城狮-写代码也要读书,爱全栈,更爱生活. 更多原创教程请关注 ...
- ECharts.js 超简单入门(本质canvas)
ECharts.js 超简单入门(本质canvas) 一.总结 一句话总结:echarts这些图标的本质都是canvas. 二.ECharts.js学习(一) 简单入门 EChart.js 简单入门 ...
- GitHub这么火,程序员你不学学吗? 超简单入门教程 【转载】
本GitHub教程旨在能够帮助大家快速入门学习使用GitHub. 本文章由做全栈攻城狮-写代码也要读书,爱全栈,更爱生活.原创.如有转载,请注明出处. GitHub是什么? GitHub首先是个分布式 ...
- RestfulAPI超简单入门
简单入门 REST -- REpresentational State Transfer,英语的直译就是"表现层状态转移" 是目前最流行的 API 设计规范,用于 Web 数据接口 ...
- express+mongodb+mongoose简单入门
mongodb安装 window安装方法就不讨论了,比较简单~我们来看一下在linux下面的安装步骤~(这里需要一点linux的简单命令知识哈) 1.下载文件到服务器(先创建好自己想安装的目录)~ c ...
- vue服务端渲染简单入门实例
想到要学习vue-ssr的同学,自不必多说,一定是熟悉了vue,并且多多少少做过几个项目.然后学习vue服务端渲染无非解决首屏渲染的白屏问题以及SEO友好. 话不多说,笔者也是研究多日才搞明白这个服务 ...
- 超简单入门Vuex小示例
写在前面 本文旨在通过一个简单的例子,练习vuex的几个常用方法,使初学者以最快的速度跑起来一个vue + vuex的示例. 学习vuex需要你知道vue的一些基础知识和用法.相信点开本文的同学都具备 ...
- 【VB超简单入门】一、写在前面
每本书的前面总得写点什么,到我这里也自然不能免俗,前言这东西“存在即合理”,所以就随便写一点咯~ 首先这本书是给从未接触过编程的童鞋准备的,由于我学识疏浅,对VB也只是一知半解所以也只能讲一点点最基础 ...
随机推荐
- 取代SharedPreferences的多进程解决方案
Android的SharedPreferences用来存储一些键值对, 但是却不支持跨进程使用. 跨进程来用的话, 当然是放在数据库更可靠啦, 本文主要是给作者的新库PreferencesProvid ...
- CALayer的m34 - 三维透视效果
CATransform3D transform = CATransform3DIdentity; // 修改transform的m34达到透视效果 // - 1.0 / (500 ~ 1000 效果最 ...
- Navicat软件中mysql中int、bigint、smallint和tinyint的区别、布尔类型存储以及乱码问题的解决
很长时间不写博客了,最近一直在忙这学校的比赛都忘记更新博客了.新的任务又要开始了,我们要准备<2017年中国大学生计算机设计大赛软件服务外包竞赛>.这次不能再想像之前那样有PC端的功能作为 ...
- JavaScript标准参考教材(alpha)--笔记
一.导论 二.基本语法 1.严格来说var a=1与a=1效果不太一样,delete命令无法删除前者. JavaScirpt是一种动态类型语言,也就是说,变量的类型没有限制,可以赋予各种类型的值. J ...
- Netty:数据处理流程
Netty作为异步的.事件驱动一个网络通信框架,使用它可以帮助我们快速开发高性能高可靠性的网络服务. 为了更好的使用Netty来解决开发中的问题,学习Netty是很有必要的. Netty现在主流有三个 ...
- 幼儿园的 selenium
from selenium import webdriver *固定开头 b=webdriver.Firefox() *打开火狐浏览器 browser. ...
- xml节点查询
关键词: XName XElement Descendance() node.Name.LocalName 示范: List<ClaimSheetBaseDto> list = new L ...
- SQL Server 2008 阻止保存要求重新创建表的更改问题的设置方法
不是很理解为什么在2008中会加入阻止保存要求重新创建表的更改这个选项.症状表现为修改表结构的时候会"阻止"你.而且我遇到的情况是居然有的时候阻止你,有的时候不阻止你,摸不到头脑. ...
- HDOJ 2393. Higher Math
Higher Math Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- 连接有密码的mongodb
mongoose: db.openSet("mongodb://admin:pass@192.168.1.100:27017/mydb");