MongoDB 那些坑】的更多相关文章

业务情景 两台服务器,一台阿里云ECS云服务器(专用网络),另一台是阿里云数据库MongoDB,处于安全考虑MongoDB是不运行外网连接的,那接下来就看怎么实现公网访问. 看到上面红色的网络类型描述,有些人可能已经看出问题所在了,小小的提示:问题出现在开放端口上! 专用网络和经典网络的大致区别可以用一句话讲明白:专用网络更安全,需要设置和配置的东西比较多,适合精通网络的高手:经典网络使用更方便,适合更适合小白用户,使用起来更简单方便,不用繁杂的配置: 思路分析 既然无法直接使用公网(俗称的外网…
MongoDB 是目前炙手可热的 NoSQL 文档型数据库,它提供的一些特性很棒:如自动 failover 机制,自动 sharding,无模式 schemaless,大部分情况下性能也很棒.但是薄荷在深入使用 MongoDB 过程中,遇到了不少问题,下面总结几个我们遇到的坑.特别申明:我们目前用的 MongoDB 版本是 2.4.10,曾经升级到 MongoDB 2.6.0 版本,问题依然存在,又回退到 2.4.10 版本. MongoDB 数据库级锁 坑爹指数:5星(最高5星) MongoD…
MongoDB 是目前炙手可热的 NoSQL 文档型数据库,它提供的一些特性很棒:如自动 failover 机制,自动 sharding,无模式 schemaless,大部分情况下性能也很棒.但是薄荷在深入使用 MongoDB 过程中,遇到了不少问题,下面总结几个我们遇到的坑.特别申明:我们目前用的 MongoDB 版本是 2.4.10,曾经升级到 MongoDB 2.6.0 版本,问题依然存在,又回退到 2.4.10 版本. MongoDB 数据库级锁 坑爹指数:5星(最高5星) MongoD…
Map-Reduce Map-Reduce 是 mongodb 处理批量数据的大杀器,凡是数据量大并且定时处理能满足需求的,都可以试着扔给 mongodb,让它去 Map-Reduce. 以下截取自文档的图,可以清楚的说明 Map-Reduce 的执行过程.先看图: 回答问题,Map-Reduce 的执行过程是先 map 然后 reduce 么? 是?恭喜入坑!而且是自己挖坑自己填.仔细再看一遍上文的图,看到那个灰色的箭头了?不是每次 map 都有 reduce 的! 如果 map 的结果不是数…
前言 某个早期技术债务项目线上有一个mongoDB服务,用途很简单,存一些文件而已.不过用户那边突然报个bug说上边的图片丢失了,起初没当回事认为是代码遇到错了,直到后来看了用户详细的bug复现后,登进db一看,发现竟然是被入侵了.还被入侵者留了个Warning数据库,只写了一句: 你丫的数据备份在我们安全服务器上,0.2个比特币就还你. [入侵分析] 当然,根据大家前段时间的比特币勒索的情况看,支付也没用的概率极大,何况也仅仅是大约10M的文件而已.既然不影响生产,也就无所谓恢复不恢复了. 从…
一.安装mongodb https://www.mongodb.com/ 官网下载合适的版本,安装在C或者D盘,我选择的是默认路径C:\Program Files\MongoDB\Server\3.4\bin 在C盘创建data/db和data/dbConf 在data/dbConf下创建配置文件mongo.config,内容为 ##数据文件dbpath=C:\data\db ##日志文件logpath=C:\data\dbConf\mongodb.log 我mogo安装的路径是C:\Progr…
Mongo数据库基本配置 基本配置 密码配置 pymongo认证 参考资料 基本配置 基本配置包括 1.端口号:默认27017,安全性较低 2.数据库文件位置 3.日志文件位置 4.日志写入模式 5.密码认证 6.后台运行 配置文件如下 # 文件名 mongodb.conf # 修改默认端口, port=27999 # 数据库位置 dbpath=/data/db # 日志文件位置 logpath=/data/log/mongodb.log # 设置为后台运行 fork=true # 默认为覆盖,…
1.下载安装 3.4正式版([坑]不要最新版,有可能进度卡在这个位置不动,等了半个小时也没什么反映,) http://downloads.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-v3.4-latest-signed.msi?_ga=2.7045623.410933966.1512521590-461885398.1512521590 安装时选择,custom,选择路径 d:\MongoDB ([坑]如果默认安装在 有program…
从去年11月份到现在,一直想去学习nodejs,在这段时间体验了gulp.grunt.yeomen,fis,但是对于nodejs深入的去学习,去开发项目总是断断续续. 今天花了一天的时间,去了解整理整个学习思路,以下是我的学习分享,是入门级学习体验适合node+mongodb开发小白,node已玩过很久的大神这篇文章可能不适合. 开篇来个例子: 客户端表单页面: <!DOCTYPE HTML> <html lang="en-US"> <head> &…
巡风简介 巡风是一款适用于企业内网的漏洞快速应急.巡航扫描系统,通过搜索功能可清晰的了解内部网络资产分布情况,并且可指定漏洞插件对搜索结果进行快速漏洞检测并输出结果报表.其主体分为两部分:网络资产识别引擎与漏洞检测引擎. 网络资产识别引擎会通过用户配置的IP范围定期自动的进行端口探测(支持调用MASSCAN),并进行指纹识别,识别内容包括:服务类型.组件容器.脚本语言.CMS. 漏洞检测引擎会根据用户指定的任务规则进行定期或者一次性的漏洞检测,其支持2种插件类型.标示符与脚本,均可通过web控制…
双刃剑MongoDB的学习和避坑 MongoDB 是一把双刃剑,它对数据结构的要求并不高.数据通过key-value的形式存储,而value的值可以是字符串,也可以是文档.所以我们在使用的过程中非常方便.正是这种方便给我们埋下了一颗颗地雷.当内嵌的文档太深,或者内嵌文档有相同的属性名.你会被炸得很惨.本章节通过 MongoDB简介,Shell编程,SpringBoot整合MongoDB,工作中注意事项,四个方面介绍MongoDB的使用.让你轻松入门,轻松避坑.还在等什么,赶快来学习吧! 技术:M…
http://www.jb51.net/article/62654.htm 1.MongoDB 数据库级锁 MongoDB的锁机制和一般关系数据库如 MySQL(InnoDB), Oracle 有很大的差异,InnoDB 和 Oracle 能提供行级粒度锁,而 MongoDB 只能提供 库级粒度锁,这意味着当 MongoDB 一个写锁处于占用状态时,其它的读写操作都得干等. 初看起来库级锁在大并发环境下有严重的问题,但是 MongoDB 依然能够保持大并发量和高性能,这是因为 MongoDB 的…
数据存储一般使用本地或者存储在数据库,MongoDB是一个非关系型数据库,今天小结下走过的一些坑. 1.网上的很多教程对自己无效 解决方法:这种情况一般都是和版本有关系,数据库在不断的更新发展,很多东西可能发生变化,建议找教程的时候按照特定的版本进行查找,否则很容易就入坑了 2.以前安装过的MongoDB服务,怎么删除 解决方法:以管理员账号启动cmd,使用sc delete MongoDB,这里的MongoDB是服务名,请修改为自己电脑里MongoDB的服务名 3.安装完成后MongoDB怎么…
在mongodb 集群中,if  存在orphaned documents 和chunk migration, count查询可能会导致一个不正确的查询结果,例如我就是踩的这个坑,先不说话,看结果: skip 只能获取到54631,而count查出来了77396条数据,这就是坑,一样的查询条件,不一样的结果,为了避免这种结果,可以使用聚合查询, 如上图所示,着里又是一个坑. mongodb 的count详细文档见官网:https://docs.mongodb.com/manual/referen…
mongodb 查询中坑就是数字开头的字段不能用点号,只能用[""].例如: 即:db.datas.find({$where:"this['54bcfc6c329af61034f7c2fc'].testRet !== this['54bcfc6c329af61034f7c2fc'].taskRet"}) 但是  如果你用 即:db.datas.find({$where:"this.54bcfc6c329af61034f7c2fc.testRet !== t…
下载 可以去官网下载:https://www.mongodb.com/download-center/community 安装 下载完了就可以使用安装包安装:我下载的mongodb版本是:v4.0.9. 一直下一步到这里,第一个是默认安装(一直下一步,无坑): 第二个是自定义安装(重点讲这里) 选择自定义安装,点击Custom 点击Browse...选择自定义目录,我选择放在:D:\mongodb目录下,点击next 是否把数据库数据放在 mongodb统一目录? 如果是,将Data Dirct…
MongoDB 是目前炙手可热的 NoSQL 文档型数据库,它提供的一些特性很棒:如自动 failover 机制,自动 sharding,无模式 schemaless,大部分情况下性能也很棒.但是薄荷在深入使用 MongoDB 过程中,遇到了不少问题,下面总结几个我们遇到的坑.特别申明:我们目前用的 MongoDB 版本是 2.4.10,曾经升级到 MongoDB 2.6.0 版本,问题依然存在,又回退到 2.4.10 版本. MongoDB 数据库级锁 坑爹指数:5星(最高5星) MongoD…
redis 官方没有 Windows 版的,微软维护的已经好久没更新了,所以就在想着换成 MongoDB. 于是一趟被我复杂化的踩坑之旅就开始了,同时也记录一下,避免有人遇见跟我一样的问题. 首先在 官网 上下载 msi 安装包开始安装.   我不喜欢把软件装在系统盘,所以我选择 Custom,自己选要装在哪里,然后就跳出来下面这张图.针对下面这张图我翻译一下官方文档上的内容作为解释.  从 MongoDB 4.0 开始,默认情况下,你可以在安装期间配置和启动 MongoDB 作为服务,并在成功…
一.安装Centos 7虚拟机系统 1.系统安装 下载阿里云的镜像,下载后安装,默认全程图形界面:虚拟机使用Win10自带的Hyper:碰到的坑记录下 1.在Hyper加载镜像启动的时候,提示“虚拟机服务未开启”类似的错误,需要进BIOS里设置Momory Profile设置为启用,包括检查任务管理器里的性能.CPU选项卡右下角的虚拟化是否已启用:重启机器继续安装: 2.全程Linux图形界面安装完成后,由于勾选的服务比较多,安装的时间太长,其实最小化安装应该就是最好的,需要什么再安装什么就成.…
WSL Ubuntu 安装MongoDb 4.0导入公钥时遇到一个坑 一路坑啊~~~网上的密钥都不对????  不应该啊 源中默认是MongoDb 3.x 但是我想用4.0,然后按照mongodb官方的docs进行第一步操作导入公钥 1 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 结果出现下面错误 1 2 gpg: connec…
缘由:使用MongoDB时遇到一些需要查询/更新操作指定某些字段的业务场景 查询和更新指定字段就需要进行简单的筛选和过滤,也能在大数据量时减少查询消耗时间 1. 查询数据库某些指定字段,同时默认返回_id字段 db.users.find({},{ username: 1}) 以上查询为只查询users表中的所有数据的username字段,但每条查询到的记录默认还会返回_id 2. 查询数据库某些指定字段,并不返回_id字段 db.users.find({},{ username: 1, _id:…
C# .NET Core 3.1中使用 MongoDB.Driver 更新数组元素和关联的一些坑 前言: 由于工作的原因,使用的数据库由原来的 关系型数据库 MySQL.SQL Server 变成了 非关系型数据库 MongoDB.可以简单的理解为存下的是 Json(实际是一个类似的东西叫 Bson).由于仍然使用 C# 作为开发语言,自然是绕不开官方的数据库驱动 MongoDB.Driver.由于 MongoDB 的特性和驱动程序自身的实现,也可能是因为个人的习惯,感觉使用起来并不顺手,还遇到…
太久没动这里,目前人生处于一个新的开始.这次博客的内容很久前就想更新上来,但是一直没找到合适的时间点(哈哈,其实就是懒),主要内容集中在使用Mongodb时的一些隐蔽的MapReduce问题: 1.Reduce时的计数问题 2.Reduce时的提取数据问题 另外,补充一个小tips:mongoDB中建立的索引,优先使用固定的,而不要使用范围. 一.MapReduce时的计数问题 这个问题主要出现在使用“+1”的思路去计算累计次数时.如果在Map后的某一类中,记录量过大,就会导致计数失败. 具体演…
在mongodb中,我们给每个文档插入数据的时候,mongodb自动会为我们插入的数据创建数据类型.由于mongodb是一个非结构化的数据存储系统,因此在文档中你可以随意插入不同类型的字段,这和MySQL有很大的区别(MySQL是结构化类型存储,要求对应的字段的数据类型相同).在mongodb的图形化管理页面,来看看数据库中字段所对应的数据类型. 由于有数据类型的存在,这就要求我们在使用的mongodb查询的时候需要注意一些情况了.例如在通过form_id 查询一些数据时就应该注意.我们从上面可…
发现性能问题 上一次导入数据后,发现系统十分的卡顿,但是才仅仅1000多条数据而已,怎么会让系统变得如何的卡顿呢?于是我开始走在排查系统卡顿的原因的道路上. 首先,先定位问题是出现在前端上还是后端上.打开浏览器,输入localhost:7000, 然后F12打开netword.启动后端项目,查看log.切换回浏览器,右键刷新.结果发现好多些问题: 请求发送的个数比较多. 后端每个接口的响应时间都比较长,都超过了1s,这明显有问题. 前端很多请求从: 发送请求到页面渲染成功所需要的时间大于了10S…
前言 在上一篇文章中,我们有提到net访问mongodb连接超时默认为30秒,这个时间在实际项目中肯定是太长的.而MongoClientSettings 也确是提供了超时属性,如下图: 可实际使用中,仅仅设置这个参数,是不起作用的,下面实例说明. 设置超时 MongoClientSettings setting = new MongoClientSettings(); //设置超时 setting.ConnectTimeout = TimeSpan.FromMilliseconds(1000);…
一.说明 本文档是在mongodb为3.4下编写的,仅作为参考 配置mongodb有两种方式,一种是通过mongod和mongos两个命令:另外一种方式就是配置文件的方式.因为更容易去管理,所以后者更受大家的青睐. 二.关于配置文件 目前情况是 : mongodb已经在任务管理器中注册好了服务 , 笔者之前修改过配置文件 , 但是在任务管理器中启动的时候会报错 "1053 服务器没有及时响应启动或控制请求" 解决办法 : 首先在任务管理器中打开mongodb的服务-属性 三.总结 我们…
个人比较懒,Mac 电脑直接使用命令行安装,brew install mongodb,但是遇到两个问题,其一: Error: The following directories are not writable by your user: /usr/local/share/man/man5 You should change the ownership of these directories to your user. sudo chown -R $(whoami) /usr/local/sh…
首先连接不上,先查看云服务器上的安全组是否添加了对应的端口 如果打开了,那么久查看MongoDB是否允许远程连接 # mongod.conf # for documentation of all options, see: # http://docs.mongodb.org/manual/reference/configuration-options/ # Where and how to store data. storage: dbPath: /var/lib/mongodb journal…
目前最新版本的MongoDB3.6在windows下安装会出现很难解决的问题,所以就换了3.4版本,由于我之前3.6的安装不成功,所以卸载了好几次,其中目录改变了一次,就导致了这次大坑,用了我三四个小时才找到了问题的根源,如果出现找不到指定文件夹,就检查一下这个目录是否对应着 如果不对应,删除 cmd运行 sc delete MongoDB 然后再install 全部安装教程…