关于Mongo的一些坑】的更多相关文章

和大多数人一样,从Mysql转到Mongo的过程中,思维上经历了很大的转变.下面来说几点我遇到的坑: 1.单文档16M 这个是最多人碰到的,我也碰到过,当然,幸好是因为操作有误,导致这种不正常的大量数据,如果正常数据有这么多的话,说明你建模有误,可以采用分集合的方式来代替内嵌过多子文档 2.不支持事务 这个也是非常蛋疼的,一个事务方法中抛一个异常出来,因为Mongo的原因没法回滚,这点真心比较痛,我的解决方法是手动回滚+方法的中的一些操作顺序调整下,确实也没有其他更好的方法 3.建模失误有可能导…
自从 deno 1.0 发布以来,有关 deno 的文章很多,大多数都是在讨论怎么安装 deno .deno 有哪些特点 .deno 和 node 有哪些异同.deno是不是 node 的替代品等.咱们今天不讨论这些,毕竟 Talk is cheap. Show me the code! 亲自体验一把 deno 开发带来的快感.用 deno 搞一个"企业级"应用:deno-supermarket,难道不香吗? deno 常见的一些坑 在实战之前,还是先来介绍几个我在刚接触 deno 时…
为什么会有这么多坑 1.  Java会把 id:String = "合法ObjectId"  好心好意的 转为  _id:ObjectId 类型. 2. 为了避免第1点, 我定义了一个  HashMap, 里面放 id  它就不会转了,但是下面代码报错: mor.sys.user!! .UpdateById("58f6cdfe2b3fe4673b897061") .where("roles.id" pair "abc4") .…
背景,随着mongo数据量变大,查询效率变低,要对索引进行优化,所在公司对mongo依赖比较严重,而DBA并不对mongo的权限做控制,所以每个后端开发都有mongo的读写权限,通常每个人各自管理自己的模块的数据. 由于笔者所负责的模块数据增长较快,用户的关键业务数据都存在mongo里面,很快mongo里面的数据就积累到几百万,之前只有一个五个字段的联合索引,所以是时候作死了... 本着作死要有条不紊有依有据的原则,在测试数据库接近百万数据量的相同Collection里面进行了实操,阻塞方式加索…
1.心路历程 上年11月份来公司了,和另外一个同事一起,做了公司一个移动项目的微信公众号,然后为了推广微信公众号,策划那边需要我们做一些活动,包括抽奖,投票.最开始是没有用过redis的,公司因为考虑到参与人数的问题,给我们配了两台redis服务器,一台windows的(负责本地测试),一台linux的(负责线上版本),接下来说说途中遇到的坑,和最后的解决方法 2.坑之一,存List的瓶颈问题 linux版本redis服务器是16G的内存,因为第一次使用redis,并不知道去做压力测试,不知道瓶…
如果你看到这篇文章,先别急着动手,过完一遍,确定是你要的再动手. 别人提到的这里不赘述,只说查了好久才知道的. 1号坑:System.IO.FileNotFoundException Could not find file "roslyn\csc.exe".详细信息如下: System.IO.FileNotFoundException Could not find file "/var/www/defalut/bin\roslyn\csc.exe". Descrip…
R+mongo的组合真是各种坑等着踩 由于mongo中的时间戳普遍使用的是unix timestamp的格式,因此需要对每天的数据进行计算的时候,很容易就想到对timestamp + gap对方式来实现每天的时间范围. 但这时候就埋下了一个坑,这个坑就是计算精度的问题. ms级的时间戳长度是12位,R中会识别成1.421112+e12的格式.gap的则是 1000 * 60 * 60 *24 * i,数量级是10^8.两者相加,在取某个i的时候,会出现加出来的数据与下一天的timestamp对不…
本司礼物系统使用了golang的 mongo库 mgo,中间踩了一些坑,总结下避免大家再踩坑 golang的mgo库说明里是说明了开启连接复用的,但观察实验发现,这并没有根本实现连接的控制,连接复用仅在有空闲连接时生效,高并发时无可用连接会不断创建新连接,所以最终还是需要程序员自行去限制最大连接才行. 废话不多说,开始上代码 GlobalMgoSession, err := mgo.Dial(host)   func (m *MongoBaseDao) Get(tablename string,…
最近公司对项目安全方面的问题很是重视,进行了多次各种安全漏洞的扫描,于是乎就扫到了mongodb弱口令的问题. 在项目部署初期,因为大家对这个都不是特别重视,大概是因为觉得反正是内网项目吧,所以mongodb数据库的用户名和密码就都是admin. 这次扫到弱口令之后,要求解决这个问题,于是任务便分到了我的头上. 遵循强口令的标准,我把admin改成了由大写字母.小写字母.数字和特殊字符共同组成的密码,但是在更改的过程中却并不像想象的那么顺利,其中遇到的问题我称之为mongodb副本集密码的一些坑…
NOSQL的应用,Redis/Mongo 1.心路历程 上年11月份来公司了,和另外一个同事一起,做了公司一个移动项目的微信公众号,然后为了推广微信公众号,策划那边需要我们做一些活动,包括抽奖,投票.最开始是没有用过redis的,公司因为考虑到参与人数的问题,给我们配了两台redis服务器,一台windows的(负责本地测试),一台linux的(负责线上版本),接下来说说途中遇到的坑,和最后的解决方法 2.坑之一,存List的瓶颈问题 linux版本redis服务器是16G的内存,因为第一次使用…