由于公司产品的设计,接触MongoDB数据库有大概一两年了,测试过程中或多或少都有用到,例如测试数据准备等等。。。;使用惯了关系型数据库,开始接触时感觉特别不适应,尤其是查询数据的时候,以前用oracle或mysql查询数据时写一条sql非常方便,换做用它了,由于语法不熟练使用起来非常不方便;随着使用次数的增多也遇到了一些问题,经过两年的使用目前在测试工作中已可熟练使用,最近想把这两年使用的一些心得总结一下
1.安装部署
如果只是在测试环境中使用,不用考虑特殊的要求的话例如:副本集、主从等;安装配置相对简单,后续会描述副本集和主从模式的搭建,先讲讲简单的模式。
安装程序可到官方网站进行下载,地址:
http://www.mongodb.org/downloads 里面有针对各个操作系统的版本供下载,我安装的是linux64的版本,下载后在linux环境下直接解压即可
2.启动和配置
进入安装路径bin目录下,输入./mongod --help可查看启动程序自带的参数结束,通常最简单的配置只需要指定端口、数据文件路径、日志路径、日志是否追加写入、是否绑定端口即可;例如:
./mongod --port=10001 --dapath=/home/data/ --log=......
具体参数内容格式参照“帮助”内容;这种方式启动MongoDB有些麻烦,每次还要敲这么一长串内容,本人比较懒,为了偷懒发现根据不同数据库配置可将启动参数写在不同的配置文件中,启动时只要指定该文件就好了,于是根据需要生成了不同的启动文件db.conf;内容如下:
port=10001
dbpath=/data/mongodb/data/shard0
logpath=/home/app/db/logs/mongodb.log
logappend=true
fork=true
根据需要可以灵活地在此文件中增添启动参数,配置好该文件后,只需执行:./mongod -f 文件路径 即可了!这样一台机器上配置多个测试数据库时只需准备不同的配置文件,再写个简单的shell脚本便可一键全启动了
如果需要指定系统开机时启动mongoDB,那么只需修改/etc/rc.local,将启动命令添加进去即可
3.关闭数据库
温柔点的方法通过命令:
1)进入mongo控制台:./mongo --port="数据库端口号"
2)use ”数据库名称”
3)使用命令db.shutdownServer()即可
暴力点图方便的话直接用kill吧,但是这种操作如果实在数据库大量读写数据时进行,下一次启动时可能会失败,我之前就遇到过,后来将数据文件所在目录下将mongo.lock文件删除后再次启动问题解决。
4.工具介绍
推荐两个工具,这两个工具我都用过,感觉都还不错!
1.RockMongo,这个工具用的时间相对较长伴随了两年,最早的版本修改数据的功能不完善,特别是修改long形字段值保存到MongoDB中会将值默认变为Double型,当时觉得非常麻烦还特意要命令去转换成long形,以后会讲到!这工具唯一一个缺点让我很抓狂,就是当一个表中记录数较多时查询一直提示超时,后来发现配置文件中有timeout这一项,将该项值填大一点或者直接去掉,超时现象基本解决,偶尔碰见大表还是会出现,但出现概率变小了!
2.MongoVUE
界面清爽一点,其他不多数了,谁用谁知道
相关推荐
文章目录MongoDB 4 系列(1)概述与安装前言概述主要特点mongoDB的云库MongoDB资源Studio 3TRobo 3TmorphiaMongoDB Java DriversWindows安装mongoDBStudio3T连接mongoDB连接altas云库java 代码连接altas云库总结参考...
知道 nodejs开篇:关于作者:本人是属于比较纯的前端,做的js开发...我用到的框架,数据库和插件:数据库存储用的mongodb框架express前端框架:jquery和bootstrap,以及下划线摸版ejs功能:并实现ajax-不跨越,然后扩
系列博客:ShiroShiro 是Java的安全框架,使用简单,功能强大 系列博客:NettyNetty 服务启动流程分析,拆包粘包,编解码技术,数据通信,心跳监测,BIO,NIO,AIO区别,常见面试题。 系列博客:MySQLMySQL 索引优化...
每天都在进步,每周都在总结,这些来源于工作和学习中的小知识。如果觉得不错可以点下star MongoDB MongoDB 是最接近关系性数据库的非关系型数据库,值得我们去学习。 系列博客: Shiro Shiro 是Java的安全框架,...
这一系列文章是自己从菜鸟教程里面进行学习,然后归纳总结出来的,如果想要深入理解指令,我也附上了对应的指令的链接。 话不多说,我们先看一下mongoDB里面的概念: 我是通过一张图片来表示的, 下面解释一下: 最...
docs:Java知识总结:MySQL实战45讲,多线程和JVM知识总结,, SpringBoot,SpringCloud,Storm系列,微信小程序开发,ELK,《 JAVA核心技术36讲笔记》,《深入理解JVM虚拟机笔记》 ,《高级MySQL笔记》,《数据结构...
首先列举一下本人总结的相关文章,这些覆盖了入门网络爬虫需要的基本概念和技巧:宁哥的小站-网络爬虫 当我们在浏览器中输入一个url后回车,后台会发生什么?比如说你输入http://www.lining0806.com/,你就会看到宁...
系列课程总结) Axure RP 指南 - v1.1.pdf Docker —— 从入门到实践 - v1.0 Git 教程 - v1.0.pdf (感觉 也挺好可以查看) GitHub 使用手册 - 基础篇 Gradle 实战中文版 - v1.0 Hibernate 教程 - v1.0.pdf IntelliJ ...
系列课程总结) Axure RP 指南 - v1.1.pdf Docker —— 从入门到实践 - v1.0 Git 教程 - v1.0.pdf (感觉 也挺好可以查看) GitHub 使用手册 - 基础篇 Gradle 实战中文版 - v1.0 Hibernate 教程 - v1.0.pdf IntelliJ ...
系列课程总结) Axure RP 指南 - v1.1.pdf Docker —— 从入门到实践 - v1.0 Git 教程 - v1.0.pdf (感觉 也挺好可以查看) GitHub 使用手册 - 基础篇 Gradle 实战中文版 - v1.0 Hibernate 教程 - v1.0.pdf IntelliJ ...
比方,电商会使用传统的关系型数据库MySQL和Oracle等来存储每一笔事务数据,除此之外,Redis和MongoDB这样的NoSQL数据库也常用于数据的采集 在大数据的采集过程中,其主要特点和挑战是并发数高,因为同时有可能会有...
查看哪个数据库在 Tornado 中执行一系列操作最快的基准。 关于 这个小基准脚本运行一个简单的过程: 创建 X 个“谈话”,其中包含: 一个 unicode 字符串(主题) 日期时间实例(何时) 一个浮点数(持续时间)...
urllib:一系列用于操作URL的功能。 requests:基于 urllib 编写的,阻塞式 HTTP 请求库,发出一个请求,一直等待服务器响应后,程序才能进行下一步处理。 selenium:自动化测试工具。一个调用浏览器的 driver,...
MongoDB学习笔记.docx mybatis原理.docx MyBatis面试专题.docx MyBatis面试专题及答案.pdf Mybatis面试题(含答案).pdf MySQL性能优化的21个最佳实践.pdf mysql面试专题.docx MySQL面试题(含答案).pdf Netty面试...
这份笔记是笔者自学Golang时的资料总结,结合了很多书籍、博主以及开源作品的内容。 笔者也收到了大量的反馈和建议,笔记仍然会在我的学习旅程中不断更新,绝对不鸽。 很多章节仍然在完善中,如Go在微服务中的实践、...