mongodb
zy_think123
写代码让我学会了思考,而思考又教会了我写代码。我不保证我写的每个地方都是对的,但是至少可以保证我是思考过的。我的努力加上你的,解个bug总没有问题吧!
展开
-
为什么MongoDB使用B-Tree,Mysql使用B+Tree ?
除了 B+ 树,你可能还听说过 B 树、 B- 树,实际上, B- 树就是 B 树,英文翻译都是 B-Tree ,这里的 “-” 并不是相对 B+ 树中的 “+” ,而只是一个连接符。而 B 树实际上是低级版的B+ 树,或者说 B+ 树是 B 树的改进版。B+ treeB+ tree 实际上是一颗m叉平衡查找树(不是二叉树)平衡查找树定义:树中任意一个节点的左右子树的高度相差不能大于 1...原创 2020-04-24 13:09:12 · 963 阅读 · 1 评论 -
一看就懂的MongoDB索引优化
查看执行计划索引优化是一个永远都绕不过的话题,作为NoSQL的MongoDB也不例外。Mysql中通过explain命令来查看对应的索引信息,MongoDB亦如此。1. db.collection.explain().<method(...)> db.products.explain().remove( { category: "apparel" }, { justOne:...原创 2020-04-17 10:31:46 · 809 阅读 · 0 评论 -
MongoDB中有几种日志?
任何一种数据库都有各种各样的日志,MongoDB也不例外。MongoDB中有4种日志,分别是系统日志、Journal日志、oplog主从日志、慢查询日志等。这些日志记录着MongoDB数据库不同方面的踪迹。下面分别介绍这几种日志。系统日志系统日志在MongoDB数据库中很重要,它记录着MongoDB启动和停止的操作,以及服务器在运行过程中发生的任何异常信息。配置系统日志的方法比较简单,在启动...原创 2020-03-03 11:36:53 · 1230 阅读 · 0 评论 -
MongoDB 复制集那点事儿
何以高可用?我们以前用Mysql的时候,经常是一台服务器走天下,如果只是用于学习,是没有问题的,但是在生产环境中,这样的风险是很大的,如果服务器因为网络原因或者崩溃了,就会导致数据库一段时间了不可用,这样的体验很不好。那么应该怎么办呢?既然一台机器不行,我就多上几台机器总可以了吧,比如我上个两台,让他们互为主备,相互同步数据。想到这里我就只想说一个字,稳。其实redis,mongodb,k...原创 2020-03-03 11:35:51 · 357 阅读 · 0 评论 -
知道这些MongoDB设计技巧,效率提升50%
范式化设计还是反范式考虑下这样的场景,我们的订单数据是这样的商品:{ "_id": productId, "name": name, "price": price,}订单:{ "_id": orderId, "user": userId, "items": [ productId1, productId2, productId3 ]...原创 2020-03-03 11:35:03 · 740 阅读 · 0 评论 -
MongoDB中的定时索引
MongoDB中存在一种索引,叫做TTL索引(time-to-live index,具有生命周期的索引),这种索引允许为每一个文档设置一个超时时间。一个文档达到预设置的老化程度后就会被删除。数据到期对于某些类型的信息非常有用,例如机器生成的事件数据,日志和会话信息,这些信息只需要在数据库中保存有限的时间。在createIndex中指定expireAfterSeconds选项就可以创建一个TTL...原创 2020-03-03 11:34:07 · 689 阅读 · 0 评论 -
MongoDB初学者最常用的10个命令
1. 登录mongodb以下命令可以用于登录mongodb数据库,但是需要保证用户你声明的数据库中存在对应的用户和密码mongo --host <hostName> --port <port> -u <username> -p <password> --authenticationDatabase <dbname>mongo --...原创 2020-03-03 11:30:36 · 1466 阅读 · 0 评论