项目中需要将一些读多改少的数据存入到 MongoDB 数据库中来提高效率,于是简单学习一些MongoDB数据库的知识,来进行应对,也是对自己知识盲区进行补充。本文主要学习介绍MongoDB数据库在Linux环境下的搭建。在学习过程中有一部分知识来源于 http://www.runoob.com

一、MongoDB简介

  MongoDB 是由C++语言编写而成的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的结点,开源保证服务器性能。MongoDB 旨在为WEB提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key,value)对组成。MongoDB 文档类似于JSON对象。字段值开源包含其他文档,数组以及文档数组。

二、主要特点

  1. MongoDB 是一个面向文档储存的数据库,操作起来比较容易和简单。

  2. 你可以在 MongoDB 的记录中设置任何属性的索引(如:FirstName=‘Sameer’, Address=‘8 Gandhi Road’)来实现更快的排序。

  3. 你可以通过本地或者网络创建数据镜像,这使得 MongoDB 有更强的扩展性。

  4. 如果负载的增加(需要有更多的储存空间和更强的处理能力),它可以分布在计算机网络中的其他节点上,这就是所谓的分片。

  5. MongoDB 支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。

  6. MongoDB 使用 update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段。

  7. MongoDB 的Map/reduce 主要是用来对数据进行批量处理和聚合操作。

  8. Map 和 Reduce。Map函数调用emit(key,value)遍历集合中所有的记录,将key与value传给Reduce函数进行处理。

  9. Map 函数和 Reduce 函数是使用 javascript 编写的,并可以通过db.runCommand或mapreduce命令来执行MapReduce操作。

  10. GridFS 是 MongoDB 中的一个内置的功能,可以用于存放大量小文件。

  11. MongoDB 允许在服务端执行脚本,可以用javascript编写某个函数,直接在服务端执行,也可以把函数的定义储存在服务端,下次直接调用即可。

  12. MongoDB 支持各种编程语言: Ruby,Python, Java, C++, PHP,C# 等多种语言。

  13. MongoDB 安装简单

三、在 Windows 下安装 MongoDB

  1. 资源包 mongodb-win32-x86_64-2008plus-ssl-3.6.5-signed   mongodb-robo3t-x64

  2. 安装 MongoDB

    下载上面资源包,可以获取到一个exe文件,直接运行。

    next,同意

    继续next,选择 complete 完整版

    继续next,

    开始安装install

    安装成功

    配置环境变量:

    安装mongodb服务:

      这也是关键的一步,win10下不要直接进入cmd命令,由于win10系统的原因,我们最好要打开开发者模式。然后win +x 已管理员方式进入cmd窗口:(这个就是问什么你安装不了mongodb服务的原因,由于目标计算机积极拒绝,无法连接–mongoDB连接错误解决办法)

    mongod -dbpath "E:\myTools\work\mongodb\MongoDB\data" --logpath "E:\myTools\work\mongodb\MongoDB\logs\mongodb.log" -logappend

解析:mongod --dbpath 命令是创建数据库文件的存放位置,启动mongodb服务时需要先确定数据库文件存放的位置,否则系统不会自动创建,启动会不成功。

    --logpath 表示日志文件存放的路径     --logappend  表示以追加的方式写日志文件

    再浏览器查看,是否启动成功:

    出现上面文字即启动成功。

       每次启动服务都需要输入以上命令,可以将启动数据库写成window服务的方式:

    这样就可以使用 net start MongoDB 去启动服务

    但是,我在启动时出现以下错误:

    进查询资料,需要在安装路径下删除2个文件:mongod.lock  和 storage.bson

    删除之后就发现服务可以正常启动。

    输入mongo进行操作:

  3. 安装 mongodb-robo3t

    这个就不写如何安装了,比较简单,一路下一步就可以了。

    开始连接,右键add

    这样就连接成功了!

四、在Linux 下安装 MongoDB

  1. 资源包准备 : mongodb-linux-x86_64-debian92-3.6.5

    命令下载地址:wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.6.0.tgz

  2. 在linux 下创建自己的 mongodb 安装目录

  3. 将准备好的资源文件扔到目录下,并解压。

  4. 将其更名为mongodb

  5. 配置PATH   export PATH=<mongodb-install-directory>/bin:$PATH   其中<mongodb-install-directory>为你自己的安装路径

  6.创建 db 在安装路径下创建 data/db 因为数据库会存在 db 目录下,但是,系统不会自动为我们创建,所以需要我们自己手动去创建。

  7.在data同级目录下创建 logs

  8. 在bin目录下执行 ./mongod --dbpath=/usr/local/MongoDB/data/db --logpath=/usr/local/MongoDB/logs/mongodb.log --fork                    dbpath 是库的位置,logpath 是log日志的位置

  9. 这样就安装好了,./mongo  进入数据库

MongoDB——环境搭建的更多相关文章

  1. 《OD大数据实战》MongoDB环境搭建

    一.MongonDB环境搭建 1. 下载 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz 2. 解压 tar -zxvf ...

  2. MongoDB环境搭建

    MongoDB系列第一课:MongDB简介 MongoDB系列第二课:MongDB环境搭建 MongoDB系列第三课:MongDB用户管理 MongoDB系列第四课:MongoDB数据库.集合.文档的 ...

  3. Windows下MongoDB环境搭建

    MongoDB下载 登录MongoDB官网:www.mongodb.org:点击[Download MongoDB]按钮,进入如下所示界面 选择目标操作系统及其版本,比如这里选择的是64位的Windo ...

  4. Spring Data MongoDB 环境搭建

    一.开发环境 spring版本:4.0.6.RELEASE spring-data-mongodb版本:1.4.1.RELEASE junit版本 4.11 maven版本:3.0.5 二.pom.x ...

  5. Python在VSCode环境抓取TuShare数据存入MongoDB环境搭建

    本文出自:https://www.cnblogs.com/2186009311CFF/p/11573094.html 总览 此文分为5个部分 第一:Anaconda(下载和安装) 第二:VSCode( ...

  6. NoSql数据库初探-mongoDB环境搭建

    NoSQL数据库一改关系型数据库的缺点,更容易的集成.分布式.无模式.故障恢复等特点,正在一步步餐食关系型数据库的市场,作为一个与时俱进的码农了解一下新技术是必须的,尤其是在读了<NoSql精粹 ...

  7. MongoDB环境搭建教程收集(待实践)

    先收集,后续再实践. https://my.oschina.net/leezhen/blog/207262 http://www.360doc.com/content/11/0708/09/26606 ...

  8. MongoDB的环境搭建及启动

    MongoDB环境搭建及配置 一.环境搭建 Mac:brew install mongodb 常见问题: Error: Permission denied @ unlink_internal 解决方案 ...

  9. mongodb的linux环境搭建

    一.启动 [mongodb@node1 ~]$ mongod -f /data/config/shard1.confmongod: /usr/lib64/libcrypto.so.10: no ver ...

随机推荐

  1. DevExpress使用教程:GridView经验小结(官方中文文献经典资料技巧)

    下面是笔者自己总结的使用 DevExpress Gridview 的一些经验小结,分享给大家: 1.去除 GridView 头上的 "Drag a column header here to ...

  2. 千里之行始于足下,node.js 资源中文导航

    响应@jiyinyiyong 号召,cnodjs 好的资源蛮多的,的确欠缺分类,在一群FAQ中,的确很容易沉下去,根据自己对node.js的理解,做成一个资源导航,PS:如果觉得合适,希望能够合并的c ...

  3. 巧妙利用JQuery和Servlet来实现跨域请求

    在网上看到很多的JQuery跨域请求的文章,比较有意思.这里我发表一个Servlet与JQuery配置实现跨域的代码,供大家参考.不足之处请指教 原理:JavaScript的Ajax不可以跨域,但是可 ...

  4. 写一个简易web服务器、ASP.NET核心知识(4)

    前言 昨天尝试了,基于对http协议的探究,我们用控制台写了一个简单的浏览器.尽管浏览器很low,但是对于http协议有个更好的理解. 说了上面这一段,诸位猜到我要干嘛了吗?(其实不用猜哈,标题里都有 ...

  5. 一款已上市MMO手游地图同步方案总结

    1. 客户端地图格子的相关知识 在2.5D的MMO游戏里,角色是通过3D的方式渲染,2D的地图是通过2D的方式显示,所以在客户端一般会有三个坐标系: a) 3D坐标系:所有需要3D渲染的角色和光效,都 ...

  6. PHP开发-最简单的数据库操作,使用ezSQL

    PHP数据库操作使用ezSQL来实现,简单好用. 如果用的是mysql数据库,将下载的ezSQL文件中的mysql和shared连个文件夹拷贝到PHP工程目录中引用即可. 在PHP文件中 // Inc ...

  7. OTA之流式更新及shell实现

    在OTA升级时,需要从网络下载OTA包,并写到flash上的对应分区中. 最简单的方式是将下载与更新分离,先将完整的数据包下载到本地,再将本地的OTA包更新到flash上.方便可靠. 但这种方式的问题 ...

  8. js固定小数位数 .toFixed()

    toFixed(num)法可把 Number 四舍五入为指定小数位数的数字. num为需要固定的位数 var num=2;console.log(num.toFixed(2));//2.00;var ...

  9. php cache类代码(php数据缓存类)

    如果访问量大的话会给数据库造成很大的负担,所以对于变化不经常的内容要做好php 数据cache(缓存)是十分必要的,我做了一个简单的php“文件缓存”的类,希望对大家有所帮助. 思路是这样的: 对于一 ...

  10. php判断是手机还是pc访问从而走不同url

    <?php header("Content-type:text/html;charset=utf-8"); function is_mobile(){ $user_agent ...