使用 JS 搭建网站后台的那些技术
栏目: JavaScript · 发布时间: 6年前
内容简介:搭建一个完整的网站,少不了前端和后端。一般常用的后端语言是 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后台框架之权限篇
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java RESTful Web Service实战
韩陆 / 机械工业出版社 / 2014-10-1 / 69.00
国内首本完整、深度地讲解如何基于Java标准规范实现REST风格的Web服务的专著,阿里巴巴Java技术专家12年开发经验结晶,3位业内著名技术专家联袂推荐!不仅深刻解读了最新的JAX-RS标准和其API设计,以及Jersey的使用要点和实现原理,而且系统讲解了REST的基本理论,更重要的是从实践角度深度讲解了如何基于Jersey实现完整的、安全的、高性能的REST式的Web服务。 《Jav......一起来看看 《Java RESTful Web Service实战》 这本书的介绍吧!