我的MongoDB坎坷之路

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 摘要环境搭建前奏后招配置配置环境变量配置数据路径查看信息初次使用登陆显示数据库信息选择数据库显示表文档信息增删改查客户端下载安装破解之路总结摘要一直以来接触最多的都是关系型数据库,对于NoSQL确实是不甚了解。

摘要

一直以来接触最多的都是关系型数据库,对于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的一些基础性的东西。没什么技巧而言,仅仅是搭建了一个环境。解决了自己遇到的一些奇奇怪怪的问题。

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
存储 SQL JSON
走进 MongoDB|学习笔记
快速学习走进 MongoDB
231 0
走进 MongoDB|学习笔记
|
存储 JSON NoSQL
MongoDB必备知识点全面总结(一)
MongoDB必备知识点全面总结
654 0
MongoDB必备知识点全面总结(一)
|
存储 JSON NoSQL
MongoDB必备知识点全面总结(三)
MongoDB必备知识点全面总结
307 0
MongoDB必备知识点全面总结(三)
|
存储 NoSQL JavaScript
MongoDB必备知识点全面总结(二)
MongoDB必备知识点全面总结
352 0
MongoDB必备知识点全面总结(二)
|
存储 SQL NoSQL
MongoDB必备知识点全面总结(四)
MongoDB必备知识点全面总结
259 0
MongoDB必备知识点全面总结(四)
|
SQL NoSQL 安全
从青铜到黄金,对着mysql学,一文搞定mongoDB
Mongodb基础入门教程 项目中使用的技术五花八门,接触了很多新技术,之前也没用过mongo,今天恶补一下基础的知识,开始吧。
140 0
从青铜到黄金,对着mysql学,一文搞定mongoDB
|
存储 前端开发 NoSQL
MongoDB实现评论榜
MongoDB实现评论榜
183 0
|
JSON NoSQL 安全
走进 MongoDB
了解MongoDB相关概念和基本操作。
走进 MongoDB
|
存储 NoSQL 分布式数据库
【MongoDB训练营】第一课:走进 MongoDB 答疑汇总
【MongoDB训练营】第一课:走进 MongoDB 答疑汇总
1206 0
【MongoDB训练营】第一课:走进 MongoDB 答疑汇总
|
存储 安全 NoSQL
炙手可热的MongoDB,安全吗?
MongoDB是10gen公司研发的面向文档的开源NoSQL数据库系统,用C++语言编写。MongoDB凭借简单的部署方式,高效的扩展能力、多样化的语言接口,并借着云蓬勃发展的势头,一度在全球数据库市场占据第四名。
5556 0