文档章节

与MongoDB的第一次亲密接触

 没有人sdfsdf
发布于 2015/05/03 17:25
字数 2046
阅读 341
收藏 5
点赞 0
评论 0

写在前面的

Mongo DB 是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式备受当前IT从业人员的青睐。Mongo DB很好的实现了面向对象的思想(OO思想),在Mongo DB中 每一条记录都是一个Document对象。Mongo DB最大的优势在于所有的数据持久操作都无需开发人员手动编写SQL语句,直接调用方法就可以轻松的实现CRUD操作。---摘自百度百科

早就了解过了MongoDB的优势和神奇之处,但一直没有抽出时间来好好学学,觉得不能再拖了,今天终于打算正式开始好好学习一下MongoDB,我觉得自己也不是什么大牛,能力有限哈,所以这个系列的文章,算是对自己学习MongoDB过程中的记录和总结,谈不上什么教程,但是会对学习过程中遇到的问题,进行详细的分析,整理和总结,不过还是希望能帮到和我一样刚接触MongoDB的新手,如果您有什么好的意见或发现文章中的错误和不足,欢迎交流,批评指正。

安装MongoDB

说明

这里我会讲windows和linux环境下的安装,至于MAC OS的话,我就一穷学生,没有设备,只能靠小伙伴们自己研究啊,也希望有条件的小伙伴们将详细的安装过程分享出来(尽管网上有现成的) 传送门http://www.mongodb.org/downloads 至于windows和linux的版本,根据小伙伴们的需要自行决定 先来张图 download

windows环境下的安装与配置

1.windows环境下的是一个msi格式的安装包,直接双击打开即可: 这里写图片描述

2.继续 这里写图片描述 如果选择Complete的话,会默认安装到C盘,我的电脑C盘已经容不下更多东西了,就先择Custom,如下图: 这里写图片描述 修改安装目录,我的安装目录为D:\software\mongodb(截图时没注意),和自己需要的组件(不过建议全选),然后下一步进行安装。 3.将D:\software\mongodb\bin添加到环境变量中: 这里写图片描述 4.刚装完,有点兴奋,直接在命令行中向试试,结果出现下面的错误: 这里写图片描述 我忘了服务还没启动呢 得执行如下命令:

mongod --dbpath f:\MongoDB\data

f:\MongoDB\data这个路径指定了文件的存放路径

看到如下信息,说明启动成功了: 这里写图片描述 MongoDB监听的是27017端口,同时打开浏览器输入http://127.0.0.1:27017,则会看到如下提示:

It looks like you are trying to access MongoDB over HTTP on the native driver port.

然后,再打开一个cmd,输入mongo命令链接数据库,出现如下提示:

2015-05-02T17:10:19.467+0800 I CONTROL Hotfix KB2731284 or later update is not installed, will zero-out data files MongoDB shell version: 3.0.2 connecting to: test

不过你可能嫌输命令的这种方式比较麻烦,你可以将启动命令写在批处理文件里,就像这样:

start mongod --dbpath F:\MongoDB\data

然后保存成MongoDB.bat,下次只要双击运行该脚本即可快速启动服务。 当然了,你也可以将MongoDB以服务的方式启动,不过我觉得在学习的过程中用处不大,小伙伴们可以自己尝试一下,如果有需要的话,我在后面会补上。

至此,windows环境下的mongodb就安装成功了。


要是觉得命令行不好用,推荐一个带图形化界面的软件:MongoVUE,就和navicat差不多,它有免费版的,就是功能少点,但学习过程中完全足够了 传送门:http://www.mongovue.com/ 这里写图片描述

连接数据库的过程和navicat差不多,大家可以自己动手试试,不清楚的欢迎留言询问。

###Linux环境下的安装与配置

1.首先还是得下载喽,我的环境是elementary OS 0.3 Freya (64-bit),这是一个基于 Ubuntu 14.04的linux系统,相当精美,号称是最漂亮的linux,体积不大,基本上除了界面之外,其他的基本上和Ubuntu 14.04没区别,在后面的叙述中,就当成 Ubuntu 14.04好了,有兴趣的小伙伴可以去官网看看,传送门http://elementary.io/ 所以Mongodb下载的时候就用ubuntu的好了: 附上下载地址:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1404-3.0.2.tgz 我下载的事这个版本的: mongodb-linux-x86_64-ubuntu1404-3.0.2.tgz

2.接着打开终端,切换到下载目录,然后执行解压缩命令,并查看解压后文件夹里的内容:

tar -xzvf mongodb-linux-x86_64-ubuntu1404-3.0.2.tgz -C .
ls -l mongodb-linux-x86_64-ubuntu1404-3.0.2

文件夹的内容

总用量 68 drwxrwxr-x 2 mybc724 mybc724 4096 5月 3 16:09 bin -rw-rw-r-- 1 mybc724 mybc724 34520 4月 9 04:43 GNU-AGPL-3.0 -rw-rw-r-- 1 mybc724 mybc724 1359 4月 9 04:43 README -rw-rw-r-- 1 mybc724 mybc724 22660 4月 9 04:43 THIRD-PARTY-NOTICES

为了便于管理,我比较喜欢将所非apt安装的软件统统挪到/opt目录下,顺便改个好记的名字:

sudo cp -R mongodb-linux-x86_64-ubuntu1404-3.0.2/ /opt/mongodb3.0.2

创建存放文档和日志的文件夹,(这个算是个人喜好,我觉得这么方便管理,你也可以使用默认的路径,/data/db) :

mkdir -p ~/mongodb/data ~mongodb/log

为了避免每次启动Mongodb的时候都要输入很长的路径,得将/opt/mongodb3.0.2/bin添加到PATH中,病是环境变量生效:

echo export 'PATH=/opt/mongodb3.0.2/bin:$PATH' >> ~/.bashrc 
source ~/.bashrc

接下来就可以运行Mongodb啦:

mongod --dbpath=~/mongodb/data --logpath=~/mongodb/log

但不幸的是出现如下提示:

2015-05-03T16:39:59.999+0800 F CONTROL Failed global initialization: FileNotOpen Failed to open "/home/mybc724/~/mongodb/log"

看来是路径错了,再试试:

mongod --dbpath=/home/mybc724/mongodb/data --logpath=/home/mybc724/mongodb/log/logfile

好了,这下OK了~

有一点大家得注意一下 那就是在指定logpath的时候,必须要指明一个文件才行,如果只给个路径是不行的,会出现如下提示:

2015-05-03T16:46:53.584+0800 F CONTROL Failed global initialization: FileNotOpen logpath "/home/mybc724/mongodb/log" should name a file, not a directory.

另外,~/mybc724/mongodb/data,这样的路径写法也是不行的,必须写成/home/mybc724/mongodb/data才行,小伙伴们注意一下.

如果不指定--logpath,Mongodb会将本次运行过程中所有的信息输出到屏幕上,指定--logpath后Mongodb会将日志信息写入文件中,就像我上面指定的logfile,那么会在~/mongodb/log/下生成类似于这样的文件:logfile.2015-05-03T08-48-15

好了,我们现在测试一下是否能正常连接 输入命令mongo,即可进入shell环境:

MongoDB shell version: 3.0.2 connecting to: test Server has startup warnings: 2015-05-03T17:03:45.963+0800 I CONTROL [initandlisten] 2015-05-03T17:03:45.963+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. 2015-05-03T17:03:45.963+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2015-05-03T17:03:45.963+0800 I CONTROL [initandlisten] 2015-05-03T17:03:45.963+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. 2015-05-03T17:03:45.963+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2015-05-03T17:03:45.963+0800 I CONTROL [initandlisten]

当然了,启动一下服务就要写那么长的命令,很麻烦,这里设置一下别名:

echo 'alias mymongod="mongod --dbpath=/home/mybc724/mongodb/data --logpath=/home/mybc724/mongodb/log/logfile"' >> ~/.bashrc
source ~/.bashrc

注意,命令中>>与>的区别,别一不小心将配置文件覆盖了,最好备份一下

好了,试试看新命令:mymongod

~一切OK

##最后 到此,windows和linux环境下的Mongodb就安装完成了,写了这么多,连我都嫌自己啰嗦,不过谁让自己是菜鸟呢,希望这是一个良好的开端

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 3
码字总数 2754
作品 0
浦东
程序员
Henrique Lobo Weissmann: MongoDB 逐渐变得无关紧要

与 TokuMX 和 PostgreSQL 相比较使得 MongoDB 处于劣势。但它仍然是一款很好的产品,而且会继续改进来与这些替代产品竞争,然而目前来看它最多只能排在第三名。2015年MongoDB的改进和发展,我...

shezjl
2015/08/26
0
0
MongoDB加入到Windows服务的方法

MongoDB是一款开源的NoSQL数据库,主要应用于数据规模庞大的场合,并被视为Node.js的黄金搭档,由于它采用的是Binary JSON格式,所以与JavaScript具有任何语言都无法媲美的亲和力。关于它的具...

bengozhong
2017/10/20
0
0
Spring+Mongodb实战(持续更新中...)

本人文笔很烂请见谅,欢迎吐槽和各种拍砖!分享快乐! 1.准备工作 Spring Data MongoDB spring-data-mongodb是Spring对Monodb进行封装的Spring-Data项目的分支。点击上面的链接获取最新版。 ...

lee5hx
2014/03/29
0
2
如何在Ubuntu 18.04 LTS上安装和配置MongoDB

如何在Ubuntu 18.04 LTS上安装和配置MongoDB IMCN 18分钟前暂无评论 阅读 9 次 MongoDB是一款非关系型数据库,提供高性能,高可用性和自动扩展企业数据库。 MongoDB是一个非关系型数据库,因...

IMCN
05/05
0
0
CentOS-6安装使用mongodb

Centos-6.3下安装Mongodb,首先从http://www.mongodb.org/downloads下载软件压缩包mongodb-linux-x86_64-2.2.2.tgz。 安装机器:192.168.15.237 上传位置:/usr/local/ 软件安装:/usr/loca...

drewin
2013/10/21
0
0
mongoDB 启动服务提示已存在连接

在我用 F:mongodbbin>mongod --dbpath f:mongodbdata --logpath f:mongodblogsMongoDB.log --auth --install 创建验证的时候,总是创建失败。 原因: MongoDB服务已经存在了,不能重复创建,...

NotFoundException
2012/12/07
0
0
mongodb在linux下安装

mongodb linux 安装 下载 cd /usr/local/src wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.4.9.tgz tar -xzvf mongodb-linux-i686-2.4.9.tgz mv mongodb-linux-i686-2.4.9 .......

Le_Guto
2014/01/24
0
0
Windowns、Ubuntu17.10 下安装 MongoDB - [图文并茂]

Windows 下安装 MongoDB MongoDB 安装包下载 点击下载 Windowns 平台: MongoDB 安装包 MongoDB 下载中心 MongoDB 安装 运行安装包,单击Next 选择安装路径 单击Next,完成安装 安装完成后,...

kangvcar
2017/11/01
0
0
初识MongoDB-用法和用途

用意:记录一下自己学习MongoDB的一些体会. 适合范围, 安装和用法. 一. MongoDB相关 JavaScript统一天下 JavaScript正在快节奏地统一整个web开发流程. JvaScript是WEB前端开发的唯一依靠, 依赖...

清风漫步
2014/02/21
0
0
Mongodb学习(安装篇): 在centos下的安装

下载解压文件 解压文件 查看解压文件 将/lamp/mongodb-linux-i686-2.2.2/bin目录拷贝到/usr/local/mongodb下 创建数据存放和日志文件: 启动进程(以后台Daemon形式运行服务) 查看mongod进程 ...

tw5566
2013/01/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

对基于深度神经网络的Auto Encoder用于异常检测的一些思考

一、前言 现实中,大部分数据都是无标签的,人和动物多数情况下都是通过无监督学习获取概念,故而无监督学习拥有广阔的业务场景。举几个场景:网络流量是正常流量还是攻击流量、视频中的人的...

冷血狂魔
11分钟前
0
0
并发设计之A系统调用B系统

A-->B A在发送请求之前,用乐观锁,减少对B的重复调用,这样一定程度上是幂等性。 比如A系统支付功能,要调用B系统进行支付操作,但是前端对"支付"按钮不进行控制,即用户会不断多次点击支付...

汉斯-冯-拉特
32分钟前
0
0
HTTP协议通信原理

了解HTTP HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务。 HTTP使用...

寰宇01
55分钟前
0
0
【Java动态性】之反射机制

一、Java反射机制简介

谢余峰
55分钟前
1
0
Centos 6.X 部署环境搭建

1.Linux学习笔记CentOS 6.5(一)--CentOS 6.5安装过程

IT追寻者
今天
0
0
博客即同步至腾讯云+社区声明

我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=8vy9bsmadbko...

xiaoge2016
今天
1
0
大数据教程(3.1):Linux系统搭建网络YUM源服务器

博主在前面的2.5章节讲述了linux系统本地YUM服务器的搭建和httpd轻量级静态网站服务器的安装,本节博主将为大家分享内网环境中搭建自己的网络YUM服务器的全过程。如果大家对本地YUM服务器还不...

em_aaron
今天
1
0
蚂蚁技术专家:一篇文章带你学习分布式事务

小蚂蚁说: 分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在这几年越来越火的微服务架构中,几乎可以说是无法避免,本文就围绕分布式事务...

Java大蜗牛
今天
1
0
新的Steam应用将拓展服务项目

导读 未来几周,Steam将推出两个免费的应用程序Steam Link和Steam Video。这两个应用程序都旨在拓展Steam平台的业务和便利性。 即将开放的Steam Link应用程序最先提供了Android测试版,它将允...

问题终结者
今天
0
0
golang 第三方包的使用总结

golang 第三方包的安装的方法: 1. go get 安装 $ go get github.com/gin-gonic/gin 注意:执行go get 命令需要先安装git命令,并配置git全局变量。 2. 源码包安装 由于国内网络问题,很多时...

科陆李明
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部