MongoDB的搭建与使用(一)

前言1:准备让自己养成一个记录的好习惯,所以把博客、公众号都建立了但是最后还是没有能坚持记录。到了18年,心知需要建立一个良好的学习记录,于是继续拾起这个状态,看是否可以坚持一段时间,至少,总结与记录能够让自己的学习留下更深刻的印象。

前言2:虽然本人主要方向为前端开发,但是作为一个对技术热衷的人,感觉完全局限于前端或者说把前后端作如此明确的界线我觉得并不是什么好的情况。所以本次计划写一个记录自己目前的技术栈的学习记录作为备忘,并不局限于前端。

以下为本人开发经验,引用部分会在文尾注明,如有问题,欢迎斧正。

背景介绍

在大学期间,曾经自学过数据库原理。在互联网开发的场景数据库的使用自然也是非常的丰富。借由大学期间的sql基础,实习期间自学的sql也让我曾经能够简单应付小项目的开发。不过久久听闻的nosql及非关系型数据库这些名词也是让我非常好奇,所以,趁着去年的一次小规模项目开发机会,我将数据库选定为自己早有耳闻的MongoDB,经历了两次项目的积累,目前也有一个非常基础的了解。遂记录在此,希望对自己日后回顾或有缘看到本篇文章的你有所帮助。

安装

MongoDB(以下简称mongo)的安装,最初了解期间,参考了菜鸟教程(http://www.runoob.com/)的mongo教程,不过经常上网的小伙伴都知道,这类教程往往会在很快的时间过时(包括我所写的这篇),所以,目前我已经基本不推荐使用这个网站进行入门了,有英语阅读能力的朋友可以考虑直接参看mongo官网的文档,对于相关信息的完整度,时效性都是有保障的。废话不多说,

平台:macOS/Linux

安装方式:macOS下载最新的安装包解压安装/通过系统自带包管理器安装

参考文档(https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/)

配置包管理器

创建一个文件以可以使用yum管理器安装mongo

官网有对教旧版本安装的指导,具体参考官网

通过sudo yum install -y mongodb-org命令安装。安装完成以后,在命令行尝试输入mongo --version如果有对应版本信息打印出来表示安装成功。

启动

将安装位置添加至全局环境变量即可直接使用安装目录bin下的程序

如果是使用yum安装

则可以使用sudo service mongod start启动mongo服务。

关于配置

使用yum安装的MongoDB默认会在创建一个配置文件,打开这个配置文件可以看到以下这些信息:

通过截图,我们了解到系统日志记录功能默认被打开,日志的存放路径在/var/log/mongodb/mongod.log,数据的默认存放位置在/var/lib/mongo服务程序(mongod)也被默认在后台运行,通过fork:true指令。pid文件默认被记录在/var/run/mongodb/mongod.pid文件当中。而net指令则表示服务默认启动的端口以及访问ip的绑定,这里打上马赛克的可以是你服务器的公网ip,这样你就可以使用管理工具在你本地远程连接数据库服务,默认是只有绑定了127.0.0.1。

有了上面这些介绍,如果你还有诸如:我是mac用户我该如何配置/pid文件是什么,它用来做什么/什么是日志,什么又是数据文件 这样的问题的话,我只能回复一个了,毕竟,学习东西,最重要的还是自己动手去查去实践。

关于管理软件

虽说有了mongoshell我们在当前的配置下,我们可以做任何对数据库的操作,无奈命令行敲代码以及调用一些查询方法毕竟对于很多人来说多少会有些不适应,所以有一个比较靠谱的界面管理工具会方便很多。

这里推荐mac平台Robo 3T,它的界面大概是这个样子

上面的操作图标也是可以非常清楚的表达出各项操作的属性,这里就不一一介绍了,把神秘保留在动一动手系列。

另外,还有网页版管理工具,相信MySQL开发者肯定会对PHPmyadmin不会陌生。这里推荐mongo admin(https://github.com/mrvautin/adminMongo)亲测可以跑起来,不过这款软件我没有怎么用所以就不多赘述了。总之还是感谢各路开发者开发出如此游戏的管理程序,而且还开源了。

开发中使用

在官网中会有介绍在各平台连接mongo的drivers,我这边两次开发经历都是在nodejs环境下,所以我会在下篇文章中介绍nodejs版本的MongoDB drive以及一个在node环境使用人数非常多的库mongoose,mongoose也是MongoDB官方推荐的第三方库,这个留在后面说

结语

以上便是我对本篇文章的基本介绍,如果您有幸看到我文章里面出错的地方欢迎指出来我第一时间改正,如果您需要转载,请注明出处即可。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180325G1D00500?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券