1用NodeJS与MongoDB建造一个简单的网站,为你构建网站提供一种新选择
1.1安装NodeJS
下载地址:https://nodejs.org
$ node --version
1.2项目初始化
如果bootstrap没有jQuery,则要单独安装;
$ npm install express jade moment mongoose underscore
$ npm install bower -g
$ bower install bootstrap jQuery
1.3编码
1.3.1入口文件app.js
//Express是目前最流行的基于Node.js的Web开发框架
var express = require('express');
//启动Web服务器,Express框架建立在node.js内置的http模块上
//设置视图根目录
var app = express(); app.set('views','./views');
// 设置视图引擎:
app.set('view engine', 'jade');
// 设置端口号:3000
jadevar port = process.env.PORT || 3000;
// 监听 port[3000]端口
app.listen(port);
console.log('kungnect_movie start on port' + port);
//启动脚本的app.get方法,用于指定不同的访问路径所对应的回调函数,这叫做“路由”(routing)
app.get('/', function (req, res) { res.render('index', { title: 'kungnect_movie 首页', });});
1.3.2文件目录
1.3.3index.jade
doctype
html
head
meta(charset="utf-8")
title #{title}
body
h1 #{title}
1.3.4运行
$ node app.js
1.4跑通前后端交互
1.4.1文件结构调整
1.4.2更新app.js
1.4.3重点是MongoDB
Mongoose因为封装了对MongoDB对文档操作的常用处理方法,让NodeJS操作Mongodb数据库变得更加容易;
MongoDB是一个对象数据库,没有表、行等概念,也没有固定的模式和结构,所有的数据以文档的形式存储,文档是键值对的一个有序集,非常类似于关系型数据库管理系统中的行;
集合由一组文档组成,如果将MongoDB中的一个文档比喻成关系型数据库中的一行,那么一个集合就相当于一张表;collection就是表,document就是一行
Schema是以文件形式存储的数据库模型骨架,传统意义的表结构;
Model由Schema构造生成的模型,类似于管理数据库属性、行为的类;
Entity由Model创建的实体;
1.4.4在根目录下创建schemas和models
1.4.5下载MongoDB
下载地址:https://www.mongodb.com
安装(GUI选择了MongoDB Compass)并通过cmd在bin目录下启动MongoDB
C:\Program Files\MongoDB\Server\4.0\bin>mongod
错误提示:Data directory C:\data\db\ not found., terminating,根据提示创建文件夹再启动;
将MongoDB服务器作为Windows服务运行
mongod --bind_ip yourIPadress --logpath "C:\data\dbConf\mongodb.log" --logappend --dbpath "C:\data\db" --port yourPortNumber --serviceName "YourServiceName" --serviceDisplayName "YourServiceName" --install
1.4.6连接MongoDB并操作
直接CONNECT即可
创建数据库和表(表名应该是movies)
1.4.7添加更多代码
1.4.8生成配置文件
别人克隆后,配置时只需npm install
bower init
nmp init
1.5验证
验证成功,截图留念:
http://localhost:3000/admin/list
2数据库的概念
2.1触及灵魂深处的解释
多个文档在mysql里就是多条数据,天生就是数据完整性的;