Buffer
但在处理像TCP流或文件流时,必须使用到二进制数据。因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。
1. 默认utf8
2. Buffer.toString();Buffer.concat(data,size);Buffer.form()
Stream
适合较大文件写入
1. 压缩与解压
var fs = require("fs");
var zlib = require('zlib');// 压缩 input.txt 文件为 input.txt.gz
fs.createReadStream('input.txt')
.pipe(zlib.createGzip()) // .pipe(zlib.createGunzip()) 解压
.pipe(fs.createWriteStream('input.txt.gz'));
console.log("文件压缩完成。");
2. 追加
var fs = require('fs');
var read = fs.createReadStream('../data/input.txt');
//设置第二个参数append
var write = fs.createWriteStream('../data/out.txt', { 'flags': 'a' });
//管道流读写操作
read.pipe(write);
console.log('执行完毕');
readStream.on('data', chunk => data += chunk);
writeStream.write(data2+dataS, "UTF8");
fs
- 1. fs.readFile 异步 fs.readFileSync 同步
- 2. fs.open 打开文件 异步
- 3. fs.stat 文件信息 异步
- 4. fs.writeFile 异步
- 5. fs.read fs.ftruncate fd
- 6. fs.unlink fs.mkdir fs.readdir fs.rmdir
中间件
1. body-parser 用于处理JSON,URL编码的数据
2. cookie-parser 通过req.cookies可以取到传过来的cookie,并把它们转成对象。
3. multer 用于处理 enctype="multipart/form-data"(设置表单的MIME编码)的表单数据。
4. express.static `app.use(express.static(path.join(__dirname, 'public')))`; 设置静态文件如:图片, CSS, JavaScript 等。
req,res
- req.params => params
- req.body => post body
- req.query => query
- req.cookies=> cookies
操作
1. 插入数据 insertOne insertMany
2. 查找数据 find findOne
3. 更新数据 update undateOne undateMany
=> 操作符
1. $inc 增加
2. $set 设置
3. $unset 删除
4. $push 添加到数组
5. $pushAll 添加many到数组
6. $addToSet 只有改值不存在,增加一个值到数组,
7. $pop 删除数组第一个值
8. $pull 删除数组中的值
9. $pullAll 删除数组中many值
10. $rename 重命名4. 删除数据 deleteOne
5. 排序 sort 1 升系 -1 降序
6. 查询分页 limit skip
7. 连接操作 $lookup
8. 删除集合 drop