mongodb更新操作符$min,$max

mycodedb.person.deleteOne({name:'lnj'})db.person.insertOne({name:'zs',age:18})//$min是用min指定的值和原来的值比较,看谁小,留下下的数值db.person.updateOne({'name':'zs'},{$min:{age:5}})//$max是用max指定的值和原来的值比较,看谁大,留下大的数值db.person.updateOne({'name':'zs'},{$max:{age:33}})/.
分类: 其他 发布时间: 06-13 10:08 阅读次数: 0

mongodb数组更新操作符$addToSet

mycode://example:db.person.insert([{name:'zs', books:[{name:'html', price:66}, {name:'js', price:88}], tags:['html', 'js']},{name:'ls', books:[{name:'vue', price:99}, {name:'node', price:199}], tags:['vue', 'node']}])//在name为zs的字段中的tags增添一个vuedb..
分类: 其他 发布时间: 06-13 10:08 阅读次数: 0

mongodb数组更新操作符$push

/*1.$push数组更新操作符KaTeX parse error: Expected '}', got 'EOF' at end of input: …不去重)格式 : {push: {:, …}}*/show databases;db.person.find()db.person.updateOne({name:'zs'},{$push:{tags:'react'}})再次执行:db.person.updateOne({name:'zs'},{$push:{tags:'
分类: 其他 发布时间: 06-13 10:08 阅读次数: 0

mongodb$pull数组更新操作符

mycode:db.person.insert([{name:'zs', books:[{name:'html', price:66}, {name:'js', price:88}], tags:['html', 'js', ['1', '2']]},{name:'ls', books:[{name:'vue', price:99}, {name:'node', price:199}], tags:['a', 'b', 'ab', 'c', 'ac']}])db.person.find().
分类: 其他 发布时间: 06-13 10:08 阅读次数: 0

then-fs的使用

由于nodejs官方提供的fs模块仅支持以回调函数的方式读取文件,不支持promise的回调方式,因此,需要先运行如下命令,安装then-fs这个第三方包,从而支持我们基于promise的方式读取文件内容:调用then-fs提供的readFile()方法,可以异步地读取文件的内容,它的返回值是Promise的实例对象,因此可以调用.then()方法为每一个Promise异步操作指定成功和失败之后的回调函数读取文件:import thenfs from 'then-fs'thenfs.r..
分类: 其他 发布时间: 06-13 10:08 阅读次数: 0

Promise.all()和Promise.race()

promise.all()Promise.all()方法会发起并行的promise异步操作,等所有的异步操作全部结束,才会执行下一步的.then()操作(等待机制),实例代码:import thenfs from 'then-fs'const promises = [ thenfs.readFile('./text/1.txt', 'utf8'), thenfs.readFile('./text/2.txt', 'utf8'), thenfs.readFile('./text/3.txt'.
分类: 其他 发布时间: 06-13 10:08 阅读次数: 0

promise封装读取文件

方法封装要求:1.方法名称要定义为:getFile2.方法接受一个形参fpath,表示要读取的文件的路径3.方法的返回值为Promise实例对象获取.then()的两个实参:通过.then()指定的成功和失败的回调函数,可以在function的形参中进行接受,示例代码如下:调用resolve和reject回调函数:Promise异步操作的结果,可以调用resolve或reject回调函数进行处理,实例代码如下:getFile方法的基本定义:import fs from .
分类: 其他 发布时间: 06-13 10:08 阅读次数: 0

js的eventloop

javascript是一门单线程语言,同时只能做一件事单线程执行任务队列的问题:如果前一个任务非常耗时,则后续的任务就不得不一直等待,从而导致程序假死的问题同步任务和异步任务:为了防止某个耗时任务导致程序假死,javascript把等待的任务分为了两类:同步任务又叫非耗时任务,指的是在主线程上排队执行的那些任务只有前一个任务执行完毕,才能执行后一个任务异步任务又叫做耗时任务,异步任务由javascript委托给宿主环境进行同步任务和异步任务的执行..
分类: 其他 发布时间: 06-13 10:08 阅读次数: 0

UnhandledPromiseRejectionWarning报错send()的处理

先看报错:(node:24460) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'send' of undefined at getAllUser (file:///G:/MarkDownNote/vue/example_code/apiTest/controler/user_ctrl.js:6:6) at processTicksAndRejections (internal/process/t
分类: 其他 发布时间: 06-13 10:08 阅读次数: 0

08_让koa支持文件上传

在koaBody中开启:const koa = require('koa')const router = require('../router')const koaBody = require('koa-body')const app = new koa()const errHandler = require('./errHadnler')const path = require('path')app.use(koaBody({ multipart: true, formidable:
分类: 其他 发布时间: 06-13 10:08 阅读次数: 0

koa中上传文件对于不支持的文件格式返回错误信息

我这里使用的是koa-body来接受文件:const koa = require('koa')//user路由// const userRouter = require('../router/user.route')//商品路由// const goodsRouter = require('../router/goods.route')const router = require('../router')const koaBody = require('koa-body')const ko
分类: 其他 发布时间: 06-13 10:08 阅读次数: 0

22年五月毕设

又一份学术垃圾,哈哈哈
分类: 其他 发布时间: 06-13 10:08 阅读次数: 0

2 万字 + 20张图| 细说 Redis 九种数据类型和应用场景

大家好,我是小林。我们都知道 Redis 提供了丰富的数据类型,常见的有五种:String(字符串),Hash(哈希),List(列表),Set(集合)、Zset(有序集合)。随着 Redis 版本的更新,后面又支持了四种数据类型: BitMap(2.2 版新增)、HyperLogLog(2.8 版新增)、GEO(3.2 版新增)、Stream(5.0 版新增)。每种数据对象都各自的应用场景,你能说出它们各自的应用场景吗?面试过程中,这个问题也很常被问到,又比如会举例一个应用场景来问你,让你说使用哪种 Re
分类: 企业开发 发布时间: 06-13 10:07 阅读次数: 0

【云原生 | 从零开始学Docker】八丶Docker网络与部署redis集群

通过讲解docekr网络以及集群搭建熟练掌握网络
分类: 企业开发 发布时间: 06-13 10:06 阅读次数: 0

哈希表 详细讲解

散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表
分类: 其他 发布时间: 06-13 10:05 阅读次数: 0

二叉树 详细讲解

树有很多种,每个节点最多只能有两个子节点的一种形式称为二叉树。二叉树的子节点分为左节点和右节点。
分类: 其他 发布时间: 06-13 10:05 阅读次数: 0

堆排序 详细讲解

1、堆排序基本介绍堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆, 注意 : 没有要求结点的左孩子的值和右孩子的值的大小关系。每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆1.1、大顶堆举例说明我们对堆中的结点按层进行编号,映射到数组中就是下面这个样子:大顶堆特点:arr[i] >= arr[2i+1]
分类: 其他 发布时间: 06-13 10:05 阅读次数: 0

赫夫曼树 详细讲解

1、基本介绍给定n个权值作为n个叶子结点,构造一棵二叉树,若该树的带权路径长度(wpl)达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree), 还有的书翻译为霍夫曼树。赫夫曼树是带权路径长度最短的树,权值较大的结点离根较近。2、赫夫曼树几个重要概念和举例说明路径和路径长度:在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规定根结点的层数为1,则从根结点到第L层结点的路径长度为L-1结点的权及带权路径长
分类: 其他 发布时间: 06-13 10:05 阅读次数: 0

B树与二叉树

1、二叉树的问题分析二叉树的操作效率较高,但是也存在问题, 请看下面的二叉树二叉树需要加载到内存的,如果二叉树的节点少,没有什么问题,但是如果二叉树的节点很多(比如1亿), 就存在如下问题:问题1:在构建二叉树时,需要多次进行i/o操作(海量数据存在数据库或文件中),节点海量,构建二叉树时,速度有影响问题2:节点海量,也会造成二叉树的高度很大,会降低操作速度.2、多叉树在二叉树中,每个节点有数据项,最多有两个子节点。如果允许每个节点可以有更多的数据项和更多的子节点,就是多叉树(multiway
分类: 其他 发布时间: 06-13 10:05 阅读次数: 0

图 详细讲解

1、为什么要有图1、前面我们学了线性表和树2、线性表局限于一个直接前驱和一个直接后继的关系3、树也只能有一个直接前驱也就是父节点3、当我们需要表示多对多的关系时, 这里我们就用到了图2、图的举例说明图是一种数据结构,其中结点可以具有零个或多个相邻元素。两个结点之间的连接称为边。 结点也可以称为顶点。如图:3、图的常用概念顶点(vertex)边(edge)路径无向图(右图)有向图带权图无向图:顶点之间的连接没有方向,比如A-B,即可以是 A-> B 也可以 B-&gt
分类: 其他 发布时间: 06-13 10:05 阅读次数: 0