如何搭建Express和Mongoose

一、Express

express是什么

express是一个高度包容,快速,极简的nodeJs应用程序框架。

如何快速启动Express

1、全局安装express-generator:

$npm i express-generator -g --registry=https://registry.npm.taobao.org

2、创建名为myapp应用程序:

$express myapp

3、进入到myapp:

$cd myapp

4、安装依赖:

$npm install

5、启动程序:

$DEBUG=myapp:* npm start

express generator生成的目录结构

image

将jade改成ejs

通过express generator生成的项目,是用jade模板引擎,但是我觉得jade可读性比较差,且很难去适应jade写法,所以我用了ejs

  • 修改方法如下:

    1、npm下载ejs-locals(在根目录下执行以下命令):

    $npm i ejs-locals —save
    

    2、修改app.js3处地方

    image

    3、将views目录下.jade结尾的文件修改成.ejs结尾

    image

    4、重新启动

    $DEBUG=myapp:* npm start
    
  • Note:监听端口是3000,所以本地访问http://127.0.0.1:3000/

二、Mongoose

mongodb是一个对象模型工具,Mongoose是针对mongodb操作的一个对象模型库,它封装了mongodb增删改查的一些方法。

Mongoose(Schema,Model,Entity)

  • Schema:数据结构描述。
1
2
3
4
5
6
7
8
// 创建Schema
var formSchema = new mongoose.Schema({
title: String,
content: String,
name: String,
age: Number,
reqRes: Number
});
  • Model:数据实体的封装。
1
var formModel = mongoose.model('form', formSchema);
  • Entity: 是实体,对应一条数据。

如何连接数据库

1、安装mongodb:

$brew install mongodb

2、进入myapp:

$cd myapp

3、安装mongoose:

$npm i mongoose —save

4、创建modules文件夹:

$mkdir modules

5、进入modules:

$cd modules

6.创建form_collections.js:

$touch form_collections.js

form_collections.js如何实现数据库连接

image

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// 链接数据库
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
var db = mongoose.connection;
db.on('error', console.error.bind(console, '链接错误'));
db.once('open', function() {
console.log('MongoDB连接成功!');
});
// 创建Schema
var formSchema = new mongoose.Schema({
title: String,
content: String,
name: String,
age: Number,
reqRes: Number
});
// 创建Model
var formModel = mongoose.model('form', formSchema);
module.exports = formModel;

在routes/index.js中引入form_collections.js

image
image

启动mongodb

$sudo mongod --dbpath=/Users/ellyliang/Downloads/myapp/data
  • Note:连接数据库之后,要先启动mongodb之后,再启动express。

mongoose的增删改查(额外的补充的信息)

  • 1 .find(): 查找,读取信息
  • 2 .create(): 增加信息
  • 3 .update(): 更新信息
  • 4 .remove(): 删除信息

三、结束语

以上是我的分享总结整理,如果你还是不太懂我写的是什么,可以去coding上边把我的项目拉下来,然后跑起来看看就好了。我的例子项目里边写了mongoose的增删该查的方法,希望能帮助到你。

Coding上的项目

如何启动:

$DEBUG=expressMongodb:* npm start

$sudo mongod --dbpath=/存放项目的目录结构/expressMongodb/data