使用 JS 搭建网站后台的那些技术
栏目: JavaScript · 发布时间: 5年前
内容简介:搭建一个完整的网站,少不了前端和后端。一般常用的后端语言是 Java,node.js 横空出世之后,现在也可以通过 JavaScript 开发后端服务了。下面介绍下使用node.js + Express + MongoDB搭建一个后端服务。node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,入门简单;Express 是一个保持最小规模的灵活的 node.js Web 应用程序开发框架;MongoDB 是一个基于分布式文件存储的数据库。
搭建一个完整的网站,少不了前端和后端。一般常用的后端语言是 Java,node.js 横空出世之后,现在也可以通过 JavaScript 开发后端服务了。下面介绍下使用node.js + Express + MongoDB搭建一个后端服务。
node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,入门简单;Express 是一个保持最小规模的灵活的 node.js Web 应用程序开发框架;MongoDB 是一个基于分布式文件存储的数据库。
Express
安装
npm install express –save
使用
在使用Express的时候,我们通过如下方式创建一个应用:
var express = require('express'); var app = express(); app.listen(8081);
而在不使用框架的时候,通常的做法是:
var http = require('http'); http.createServer(function(req, res) { res.write('hello world'); res.end(); }).listen(8081);
Express实际上就是一个工厂函数,用来创建app,而app则就是createServer的回调函数,在使用Express的时候,事实上,所有的请求都是交给app,通过app.handle来处理了。
Router
app有一个Router属性,Router相当于是一个中间件容器,存放着各种各样的中间件,可以分为路由中间件和其它中间件。
路由机制
Route的主要属性和方法有:
♣ path,string,表示路径
♣ stack,[],存放的是Layer对象,表示路由处理函数
♣ methods,{},表明支持哪些HTTP方法,例如{ get: true },如果使用了all(),则该属性值为{ _all: true }
例如:
app.all('/login', function() {}); app.get('/login/:userid', function() {}); app.route('/login').get(function() {}).post(function() {});
MongoDB
特点
MongoDB是非关系数据库当中功能最丰富的,它有如下特点
(1)面向集合
MongoDB的collection(集合)相当于关系型数据库(RDBMS)里的表(table)。
(2)模式自由
也可称为无模式,存储在 MongoDB 数据库中的文件,我们不需要知道它的任何结构定义,不像 Mysql 等需要定义好数据类型,它像js中的json一样自由,如{“welcome” : “Beijing”}。
(3) 文档型
意思是我们存储的数据是键-值对的集合,键是字符串,值可以是数据类型集合里的任意类型,包括数组和文档。
(4) 性能优越
千万级别的文档对象,近10G的数据,对非索引字段的查询,相对其它数据库全面胜出
(5) MongoDB不支持事务操作
所以事务要求严格的系统(如果银行系统)肯定不能用它。
(6) MongoDB占用空间过大。
由于空间预分配、删除记录不释放空间,可以定期运行db.repairDatabase()来整理记录。
安装
npm install mongodb
使用
var MongoClient = require('mongodb').MongoClient MongoClient.connect('mongodb://localhost:27017/animals', function (err, db) { if (err) throw err db.collection('mammals').find().toArray(function (err, result) { if (err) throw err console.log(result) }) })
增删改
使用insert向collection增加数据
var mongodb = require('mongodb'); var server = new mongodb.Server('localhost', 27017, { auto_reconnect: true }); var db = new mongodb.Db('mydb', server, { safe: true }); db.open(function(err, db) { if (!err) { db.collection('mycoll', { safe: true }, function(err, collection) { var tmp1 = { title: 'hello', number: 1 }; collection.insert(tmp1, { safe: true }, function(err, result) { console.log(result); }); }); } else { console.log(err); } });
使用update更新数据
var mongodb = require('mongodb'); var server = new mongodb.Server('localhost', 27017, { auto_reconnect: true }); var db = new mongodb.Db('mydb', server, { safe: true }); db.open(function(err, db) { if (!err) { db.collection('mycoll', { safe: true }, function(err, collection) { collection.update({ title: 'hello' }, { $set: { number: 3 } }, { safe: true }, function(err, result) { console.log(result); }); } else { console.log(err); }) }; })
使用remove删除数据
var mongodb = require('mongodb'); var server = new mongodb.Server('localhost', 27017, { auto_reconnect: true }); var db = new mongodb.Db('mydb', server, { safe: true }); db.open(function(err, db) { if (!err) { db.collection('mycoll', { safe: true }, function(err, collection) { collection.remove({ title: 'hello' }, { safe: true }, function(err, result) { console.log(result); }); } else { console.log(err); }) }; })
常用指令
【默认】
MongoDB如果没有创建新的数据库,则在默认数据库test 中。
【查看】
使用show dbs来查看数据库
【创建/切换】
使用use命令来切换/创建数据库, 要显示它,需要向数据库插入一些数据
use db_name
【显示当前数据库】
使用db命令来显示当前数据库
【将数据写入集合中】
使用db.集合名.insert(文档)来将文档的数据写入集合中,文档的格式为JSON。而所有存储在集合中的数据都是BSON格式。BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON。
db.collection_name.insert
【查看集合】
使用show collections命令可以查看当前数据库中的所有集合(即表)
【删除数据库】
这将删除当前所选数据库,如果没有选择任何数据库,那么它将删除默认的’test‘数据库
db.dropDatabase
集合操作(即table)
可以使用命令show collections检查创建的集合
也可以使用show tables来查看集合
【创建集合】
在插入文档时,MongoDB首先检查上限集合capped字段的大小,然后检查max字段
} )
name:集合名字
capped:是否启用集合限制,如果开启需要制定一个限制条件,默认为不启用,这个参数没有实际意义
autoIndexId:是否使用_id作为索引,默认为使用
size:限制集合使用空间的大小,默认为没有限制,size的优先级比max要高
max:集合中最大条数限制,默认为没有限制
[注意]向集合中插入文档时,如果集合不存在 ,则会自动创建集合
【删除集合】
MongoDB 的 db.collection_name.drop用于从数据库中删除集合。true表示删除成功,false表示删除失败。
以上所述就是小编给大家介绍的《使用 JS 搭建网站后台的那些技术》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- React后台框架搭建
- 从零开始搭建创业公司后台技术栈
- 使用GoAdmin极速搭建golang应用管理后台
- 使用React全家桶搭建一个后台管理系统
- 「小程序JAVA实战」springboot的后台搭建(30)
- 从0到1搭建element后台框架之权限篇
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。