09 2022 档案
摘要:初始化同步 将一个新的节点加入到复制集中时, 就需要进行初始化同步 初始化同步会先清空自己所有的内容, 保证将来自己和主节点一模一样 初始化同步会将主节点中现有所有的 '数据库', '集合', '文档', '索引' 全部拷贝过来 但是在拷贝的过程中主节点仍然可能会做一些其它操作, 新增一些其它的数据
阅读全文
摘要:选举规则 一旦发现主节点没有响应 / 发送心跳请求, 那么副节点就会认为主节点挂了 一旦发现主节点挂了, 任意一个副节点都可以发起选举 (发起选举的节点我们称之为 候选节点, 每一个节点内部都有一个 选举计数器) 发起选举的节点会给自己先投一票, 然后将自己的票数依次发送给其它节点 其它节点收到投票
阅读全文
摘要:MongoDB 复制集特点 !> 复制集中必须有一个主节点 主节点主要负责写入数据和读取 复制集中除了主节点以外的节点我们称之为 副节点: 副节点默认情况下只能读取数据, 不能写入数据 副节点主要负责从主节点不断复制数据 复制集中所有的节点都会不断的相互发送心跳请求: 心跳请求的目的是相互检查节点的
阅读全文
摘要:扣分类 !> 扣分新规:12分、9分、6分、3分、1分(一定要注意,旧规 是有 2 分的,新规 中不存在扣 2 分的情况)此外,新规中扣分是叠加的(比如你没系安全带同时还接电话,会被叠加扣 4 分,没系安全带扣 1 分,接电话扣 3 分,其他情况同理) 超重 | 超重范围 | 0 ~ 30% | 3
阅读全文
摘要:在我的工作经历中,每当同事评论起项目代码质量的时候,听到的最多的评语就是:“代码写得很烂”或者“代码写得很好”。用“好”,“烂”这样的字眼来描述,非常地笼统。当我具体问到底如何烂、如何好的时候,尽管大部分同事都能简单地罗列上几个点,但往往都不够全面、非常零碎,也切不中要害。 当然,也有一些工程师对如
阅读全文
摘要:我相信,很多程序员都已经意识到基础知识的重要性,觉得要夯实基础,才能走得更远,但同时对于如何将基础知识转化成开发“生产力”仍然有些疑惑。所以,你可能看了很多基础的书籍,比如操作系统、组成原理、编译原理等,但还是觉得很迷茫,觉得在开发中用不上,起码在平时的 CRUD 业务开发中用不上。实际上,这些基础
阅读全文
摘要:程序员的看家本领你得练好 毕业后我就加入了一家跨境电商企业,至今我还清晰地记得,我第一次提交代码的时候,短短的 100 多行代码,被同事 review 出了 n 多问题,来来回回改了不下十几个版本才提交上去。我当时有很大的逆反心理,觉得有必要浪费这么多时间在如此细节的编码上吗?只要代码能用、能解决问
阅读全文
摘要:搭建环境 首先本项目的源码我会放在 GitHub:https://github.com/BNTang/BNTang-Demo 具体我依赖我这里不粘贴出来,首先就是创建一个 Bean 交由 Spring 进行管理: /** * @author BNTang * @version V1.0 **/ @C
阅读全文
摘要:MongoDB 高可用性 如果所有用户都从同一台MongoDB服务器上读写数据, 那么如果这台MongoDB服务器宕机了, 用户就不能进行读写了 如果我们有多台MongoDB服务器, 并且每台服务器中存储的内容都相同,那么即使有一台服务器宕机了, 用户依然可以进行读写数据, 因为用户还可以继续使用其
阅读全文
摘要:本文是紧接着 Mongoose 的增加与查询的下集,所以在这里废话不多说直接上内容。 修改 根据条件更改: 第一个参数:需要更新的条件 第二个参数:更新的内容 第三个参数:更新的结果返回值 User.update({name: 'ls'}, {$set: {age: 888}}, (err, doc
阅读全文
摘要:本文的内容是基于 Mongoose 开篇继续延续的,需要将 mongoose 的环境搭建好,我这里就直接上的是进行操作 MongoDB 的代码。 增加 单个增加: User.create({name: 'test666', age: 666}, (err, result) => { if (!err
阅读全文
摘要:Mongoose 概述 Mongoose和MySQL的Sequelize一样, 都是NodeJS中操作数据库的对象模型工具 Mongoose使用面向对象的思想对原生的mongoDB命令进行了封装 ?> 官方文档: http://www.mongoosejs.net/ https://mongoose
阅读全文
摘要:树形结构 在 MongoDB 中我们除了可以使用 '内嵌式结构' 和 '规范式结构' 来表示数据的关系以外, 由于MongoDB数据的灵活性, 我们还可以使用'树形结构'来表示数据之间的关系。 树形结构概述 Database | | | Relational No-Relational | | |
阅读全文
摘要:文档多对多关系 一个学生有多个老师 一个老师有多个学生 内嵌式结构 学生与老师: db.students.insert([{name:'zs', teachers:[{name:'BNTang'}, {name:'Jonathan_Lee'}]}, {name:'ls', teachers:[{na
阅读全文
摘要:文档一对多关系 一个人有多本书 内嵌式结构: db.person.insert({ name:'zs', age:'18', books:[{ name:'玩转HTML', price: 88 }, { name:'玩转CSS', price: 88 }] }) db.person.find({na
阅读全文
摘要:文档一对一关系 一个人有一张身份证。 内嵌式结构: db.person.insert({ name:'zs', age:'18', card:{ num:'420626200002023556', date: 88 } }) db.person.find({name:'zs'}) 优势 一次查询就能
阅读全文
摘要:文档之间关系 MongoDB对于文档的格式并没有强制性的要求, 但不等于我们不能在文档中表达数据的关系,在MongoDB中我们可以通过 '内嵌式结构' 和 '规范式结构' 来表达文档之间的关系。 内嵌式结构 在一个文档中又包含了另一个文档, 我们就称之为内嵌式结构,例如: { name:'zs',
阅读全文