Evernote Export
1, 梳理知识点
1, 核心模块 : fs http querystring url
http: 搭建服务器 createServer(function( req,res){ })
- var cheerio = require("cheerio");
- var fs= require("fs");
- http.get("http://news.baidu.com",function(res){
- var result = "";
- res.on("data",function(data){
- result+=data;
- })
- res.on("end",function(){
var $ = cheerio.load(result); cheerio 对象 (类似 jquery)
- var ulist = $(".ulist");
- var resStr = "";// 将所有的新闻都提取出来
- for( var i = 0 ; i <ulist.length ; i++ ){ // 遍历每一个 ul
- resStr += ulist.eq(i).find("a").text() +"\n";
- }
- // 将提取出的新闻 存入到一个文件中
- fs.writeFileSync("1.txt",resStr)
- })
- })
fs 模块 : readdir mkdir rmdir readFile readFileSync writeFile writeFileSync appendFile unlink rename
stat
pipe()
url 中解析文件的路径 : url.parse( "",true ) format() resolve()
querystring escape unescape stringify parse
2, 第三方模块 : supervisor cheerio
1, 判断服务器上面有没有 upload 目录. 没有就创建这个目录. 有就提示目录已经存在
- stat
- mkdir
- fs.stat("upload",function(err,stats){
- if( err ){ // 没有目录 就创建目录
- fs.mkdir("upload",function(){
- console.log("创建成功");
- })
- }else{
- console.log("目录已存在");
- console.log(stats.isDirectory());
- }
- })
events 模块
事件的引入及创建
- var events=require('events');
- var EventEmitter=new events.EventEmitter();
事件监听 on
广播方法 emit("事件","发送的数据")
path 模块 :
extname() 获取文件的扩展名 path.extname(文件)
__dirname 获取绝对路径 (直接使用)
官网: https://www.mongodb.com/
mongoDB 使用 :
第一步 : 安装 mongodb 程序
第二步 : 进入安装目录 C:\Program Files\MongoDB\Server\3.4\bin, 通过 mongod --dbpath e:\db1806 (数据库文件位置) 启动服务
第三步 : 打开 cmd 进入到 C:\Program Files\MongoDB\Server\3.4\bin 目录下, 通过执行 mongo 命令, 连接本地服务器
如果要连接远程服务器 , 使用 mongo 远程 ip:27017
数据库相关概念
一, 数据库和文件的主要区别
1, 数据库有数据库表, 行和列的概念, 让我们存储操作数据更方便
2, 数据库提供了非常方便的接口, 可以让 nodejs,php java .net 很方便的实现增加修改删 除功能.
二, 关系型和非关系型数据库的介绍
关系型数据库 mysql sql oracle
非关系型数据库 mongoDB
三, mongodb 介绍
MongoDb 介绍 MongoDB 是一个介于关系数据库和非关系数据库之间的产品, 是非关系数据库当中功能最丰富, 最像 关系数据库的. 他支持的数据结构非常松散, 是类似 json 的 bson 格式, 因此可以存储比较复杂的数据类 型. Mongo 最大的特点是他支持的查询语言非常强大, 其语法有点类似于面向对象的查询语言, 几乎可以 实现类似关系数据库单表查询的绝大部分功能, 而且还支持对数据建立索引. 它的特点是高性能, 易部署, 易使用, 存储数据非常方便.
四, 使用 :
1, 新建一个存放数据库的文件夹, 注意: 不能有中文和空格, 建议不要放在 C 盘
2, 启动 MongoDb 服务 服务端: mongod 开启数据库服务 mongod --dbpath d:\mongodbtest
数据库的相关命令
show dbs 查看所有数据库
use student 使用数据库, 创建数据库
显示当前的数据集合 (mysql 中叫表) show collections
删除数据库, 删除当前所在的数据库 db.dropDatabase();
删除集合, 删除指定的集合 删除表
语法 : 删除集合 db.COLLECTION_NAME.drop()
例如 : db.user.drop()
添加数据 (添加数据同时创建表) 或先创建集合 db.createCollection("name")
语法 :
db. 表名. insert({"name":"zhangsan"}); student 集合名称 (表) 插入多条数据 使用 [{},{},{},....]
或
sb.user.save({ "name":"jack","age":90 }) 插入一条数据
数据查询操作
查找数据 find()
1, 查询所有记录 db.userInfo.find();
2, 查询不重复数据 db.userInfo.distinct("name");
3, 查询 age = 22 的记录 db.userInfo.find({"age": 22}); ($ne 不等于)
4, 查询 age> 22 的记录 db.userInfo.find({age: {$gt: 22}});
5, 查询 age <22 的记录 db.userInfo.find({age: {$lt: 22}});
6, 查询 age>= 25 的记录 db.userInfo.find({age: {$gte: 25}});
7, 查询 age <= 25 的记录 db.userInfo.find({age: {$lte: 25}});
8, 查询 age>= 23 并且 age <= 26 注意书写格式 db.userInfo.find({age: {$gte: 23, $lte: 26}});
9, 查询 name 中包含 mongo 的数据 模糊查询用于搜索 db.userInfo.find({name: /mongo/});
10, 查询 name 中以 mongo 开头的 db.userInfo.find({name: /^mongo/});
11, 查询指定列 name,age 数据 db.userInfo.find({}, {name: 1, age: 1});
12, 查询指定列 name,age 数据, age> 25db.userInfo.find({age: {$gt: 25}}, {name: 1, age: 1});
13, 按照年龄排序 1 升序 -1 降序 升序: db.userInfo.find().sort({age: 1});
14, 查询 name = zhangsan, age = 22 的数据 db.userInfo.find({name: 'zhangsan', age: 22}); 并且
15, 查询前 5 条数据 db.userInfo.find().limit(5);
16, 查询 10 条以后的数据 db.userInfo.find().skip(10);
17, 查询在 5-10 之间的数据 db.userInfo.find().limit(10).skip(5);
18,or 与 查询 db.userInfo.find({$or: [{age: 22}, {age: 25}]});
19,findOne 查询第一条数据 db.userInfo.findOne();
20, 查询某个结果集的记录条数 统计数量 db.userInfo.find({age: {$gte: 25}}).count();
修改数据
修改数据 : update()
查找名字叫做小明的, 把年龄更改为 16 岁:
1db.student.update({"name":"小明"},{$set:{"age":16}});
查找数学成绩是 30, 把年龄更改为 33 岁:
1db.student.update({"score.shuxue":30},{$set:{"age":33}});
修改 (如果不存在是否新增, 是否修改多条)
db.users.update({age: 25}, {$set: {name: 'changeName'}}, false, true);
删除数据
清空所有数据 db.users.remove({})
删除数据 db.users.remove({age: 132});
nodejs 操作数据库 mongodb
先安装 mongodb 模块 : npm install mongodb@2.2.19 --save
来源: https://www.cnblogs.com/l8l8/p/9294817.html