我的MongoDB坎坷之路

  1. 云栖社区>
  2. 博客>
  3. 正文

我的MongoDB坎坷之路

郭璞 2016-12-06 17:31:00 浏览575
展开阅读全文

摘要

一直以来接触最多的都是关系型数据库,对于NoSQL确实是不甚了解。但是对于目前开发而言,NoSQL也算是一个比较火的方向,而在众多NoSQL数据库之中,MongoDB又是这么的“靓丽”,让人不禁心仪神往。然而没想到的是,在这个过程中,却又是那么的坎坷。于是作此文以记之。

环境搭建

前奏

照常在官网上 https://www.mongodb.com/ 直接找到download 按钮,下载一个windows.msi版本的就好了。
下载msi windows版本即可
官方最新版的mongodb需要:
VC++2015 RC x64的支持,否则会报出
由于系统版本问题,导致安装出现异常
但是, 但是 遗憾的是我的电脑版本竟然不够,竟然不够。这是什么情况?
然后查了下文档,Windows7的话需要最低版本为7601,而我的版本是7600.( ⊙ o ⊙ )啊!真的是好气哦。
查看电脑详细版本号命令 msinfo32
安装的时候会弹出这样的一个窗口,上面写着:

丢失api-ms-win-crt-runtime-|1-1-0.dll

既然知道了问题出自何方,那目标就很明确了,然后在网上找啊找的,答案倒是挺多的, 但是基本上都不靠谱。反正我是没能成功。

最后升级Windows,添加补丁包吧,奈何网速不给力,下了好久,最终不了了之。

后招

既然下载最新的是不行了,那就退而求其次,下载之前较低版本的吧。反正是学习使用,也用不到多么复杂的功能,应该是足够的啦。

我这边尝试的是2.0.6版本的,亲测好用。为了更多人学习使用,可以到下面的链接处进行下载。(不要积分: http://download.csdn.net/detail/marksinoberg/9703363

下载后解压到一个文件夹即可。
下载后解压即可

我也是歪打正着,没想到这个版本的真的可以用啦

配置

如第二步所示,下载完后解压到一个文件夹下即可。然后新建一个文件夹用于存放数据库数据(这个文件夹随意放置,但是为了方便管理,还是放到一起比较好)。
新建一个文件夹存放数据

配置环境变量

为了让命令行下可以找到mongodb的一些内置的命令,我们需要将bin目录配置到自己的电脑的环境变量中。

计算机–系统属性–高级系统设置–环境变量–path

配置数据路径

为了方便MongoDB找到数据位置,我们需要稍微的配置一下。用于临时开启mongodb数据库服务。如果有兴趣的话,也可以将其变为一个系统服务,这样也会更方便于使用。这里不过多叙述啦。

mongod –dbpath “数据文件夹路径”

新版本的mongodb用MongoVUE打开的时候会显示不出collections。这是因为引擎的缘故。
可以使用这样的命令,启动mongodb服务。

mongod.exe –storageEngine mmapv1 –dbpath D:\Software\mongodb\db

需要注意的是这个时候的db的路径应该是新的数据库文件夹路径。原因嘛,使用mmapv1引擎创建的当然和wiredTiger引擎创建的不能一致咯。

出现下图所示信息说明数据库路径配置成功。
开启mongodb服务,便于客户端进行连接

查看信息

为了更加清晰的开启mongodb神秘的面纱,可以利用浏览器查看详情。

mongo 127.0.0.1:27017/admin

27017端口 处查看

按照提示,下面尝试一下

mongo 127.0.0.1:28017/admin
28017 端口处查看

初次使用

对于MongoDB,一开始还是要使用Shell的方式,这样可以为今后打下更为坚实的基础。下面大部分将以对比关系型数据库MySQL的方式进行,来进一步加深对于NoSQL的学习理解和使用。

登陆

类比关系型数据库MySQL的终端登录:

mysql -u root -p password

Mongodb也是类似的,如下:

mongo 127.0.0.1:27017admin

出现下图,说明你登陆成功了。(默认是没有密码的)。
Shell 登陆成功

显示数据库信息

类比MySQL,查看系统内拥有的数据库信息。

show databases;
mongodb也是类似,只不过命令名称不同罢了。
show dbs;

如下图:
show dbs;

选择数据库

在MySQL中,要想使用一个指定的数据库,可以使用:

use DatabaseName;

在MongoDB中,同样如此:

use foobar

如下图:
use databasename;

显示表/文档信息

在关系型数据库中,查看某一个数据库中有哪些表,可以使用:

show tables;

在MongoDB这种非关系型数据库中,原理其实是差不多的。但是概念上来讲稍有出入。比如NoSQL中称表为文档(collection)。显示mongodb中文档的命令为:

show collections;
如下图:
show collections;

增删改查

与MySQL这种关系型数据库有所不同的是,NoSQL中的增删改查命令都有特定的使用方式。而且都是基于“条件”来实现的,这一点跟SQL语句可没什么关系啦。

  • find()
  • remove()
  • update()
  • insert()

至于细节部分,此处暂且略过,接下来的博文中可能会进行详细的阐述。

客户端

熟悉了Shell方式操作mongodb,也就对命令的书写比较熟悉了。这个时候就可以使用客户端工具帮助我们进一步提升效率了。网上找到一篇针对于MongoDB的客户端的文章。
http://blog.csdn.net/chszs/article/details/51348248

我这里要说的是,一个比较好用的客户端工具。MongoVUE。而且这里主要讲解一下如何破解这个工具,免得以后弹出窗口讨厌。

下载安装

破解之路

首先 Win+R键调出CMD命令行,输入regedit。找到下面图示的字段,删掉右边的1,2,3即可。(由于博主事先已破解,所以借用一下博友的破解图)。
破解图

这样就可以免费使用这个神器啦。

总结

这篇文章就是大致的讲了讲NoSQL中的翘楚MongoDB的一些基础性的东西。没什么技巧而言,仅仅是搭建了一个环境。解决了自己遇到的一些奇奇怪怪的问题。

网友评论

登录后评论
0/500
评论
郭璞
+ 关注