mongodb msi安装包_跟我快速学数据存储:MongoDB非关系型数据库

34c001ec24e6e211dff8e0fc14d17bca.gif

想要学习更多编程,就点上方蓝字关注我们

34c001ec24e6e211dff8e0fc14d17bca.gif

 MongoDB概述

01

与Redis半持久化,存储于内存和硬盘不同,MongoDB是直接持久化,存储于硬盘的缓存系统。MongoDB非常流行,其中阿里云提供了云数据库MongoDB版。https://blog.csdn.net/tanqian351/article/details/81744970较为全面地介绍了MongoDB与MySQL、Hadoop、Redis的区别。MongoDB是文档型的非关系型数据库,数据是以JSON文档的形式保存,可以表示较为复杂的数据,不适合对事务性要求高的应用场景,擅长在:与地理位置有关的打车、外卖,商品信息、物流信息嵌套数据、文本查询等应用场景,详情可以参考https://www.zhihu.com/question/32071167。

环境的搭建

02

Python开发MongoDB环境的搭建分为MongoDB安装和Python pymongo开发库的安装。

到官网https://www.mongodb.com/download-center/community下载安装软件,选择平台为windows,包为msi(见图1)。点击Copy Link,然后打开迅雷下载,速度会较快。

7326abf6283bbcc235ec9e42bdaf9eca.png

图1 MongoDB下载

下载后点击安装文件安装即可。其中在选择服务配置中,选择【Run Service as Network Service user】(见图2)。【Run Service as Network Service user】表示【以网络服务用户身份运行服务】,即用Windows内置的账户;而【Run Services as a local or domain user】表示【以本地或域用户身份运行服务】。对于本地用户,Domain填小数点".",Account Name和Account Password分别填写本地用户名、密码。对于域用户,输入域名、用户名、密码等信息。

1c559a4eb5f63d4dfb82a563490027ff.png

图2 MongoDB作为服务的配置信息

安装过程中,如果报权限错误(见图3),则将Windows的防火墙先关闭(见图4)。

bef77683cbffc7365d82707c27153483.png

图3 权限错误

ee7501a2ce6d69d82978778504f1a998.png

图4 关闭防火墙保护

在浏览器中输入localhost:27017,若返回下图文字内容,则表示MongoDB数据库已经安装成功

1b8137216c64b8db9a7d2effab5a4fa3.png

图5 测试MongoDB是否安装成功

在安装的bin目录,有如下三个较为重要的文件。

(1)mongod.exe:是Windows平台的MongoDB守护程序,需要运行该命令。为了保障该命令的正常运行,应在c盘新建一个文件夹data,然后在data目录下新建一个文件夹db,即:c:\data\db。该目录用于mongod存储它自身的数据。

(2)mongo.exe:是MongoDB的交互式JavaScript Shell界面,提供了强大的管理、测试查询和操作的方法,例如:使用use 数据库名切换数据库,数据库名.表名.find()查询表数据。此外,先输入:use admin,回车后输入:db.shutdownServer()可以关闭数据库系统。其中admin为系统数据库用于进行MongoDB的管理,能够通过它创建用户、关闭服务器等(见图6)。如果mongod不能正常启动,在运行mongo时会报图7的错误。

fda167ce8a512b2db90e4cfce221285f.png

图6 MongoDB命令行操作

d53750f6c766e92509058e148dbf6e85.png

图7 MongoDB启动不了

(3)mongod.cfg:配置文件,在该文件中配置了连接MongoDB的各种配置参数,例如:storage是表示存储的有关配置,其中:dbPath是表示数据库的存放路径,journal=true表示开启操作日志,以保障写入持久性和数据的一致性;systemLog是系统日志的有关配置,其中:destination表示日志的输出方式是输出流还是文件,path表示日志的存放路径;net是表示网络的有关配置,其中:port表示服务的监听端口,bind_ip表示监听的数据库服务器IP地址(如果多个IP地址,则用逗号隔开)(见图8)。使用127.0.0.1表示只能从本机进行连接数据库,保障了数据库的安全。

505963af784448ba051ccbc3e4ef6cc5.png

图8 MongoDB默认配置文件

安装Python的MongoDB开发包,较为简单,搜索”pymongo”,安装即可(见图9),安装成功后在列表中可以看到pymongo(见图10)。

a289b8b04bd6852d36ee4ef5c7ce3441.png

图9 安装pymongo

2f2288f1e76b16b584d5c01a2b85cef9.png

图10 已安装包的列表

a3edba84677f8b702dadaf7cddea18f6.gifa3edba84677f8b702dadaf7cddea18f6.gifa3edba84677f8b702dadaf7cddea18f6.gif

撰稿 | 谢景明

编辑 | 秦慧

审核 | 谢景明、冯敬益

7b252ada5a16822358997e669cc387b2.png微信号:xinxisuyang关注我们,了解更多

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/334329.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php页面 info,通过PATH_INFO方法实现页面伪静态_php

/*函数url_parse用于解析url,使用时需要在前面定义define(PATH_INFO,true);需要解析时调用该函数,取值方法用回$_GET[xxx]即可*/function url_parse(){if(!(isset($_SERVER[PATH_INFO])&&defined(PATH_INFO))){return;}$url substr($_SERVER[PA…

fanuc roboguide_FANUC机器人虚拟仿真教程:Roboguide弧焊仿真工作站工装添加

Roboguide软件左侧浏览树中的“Fixture”节点专门用于添加工装资源,软件支持添加自带的库文件数模以及外部导入的CAD数模。软件支持CSB、DXF、STL、IGES、3DS等格式数模文件,一般情况下将将外部数模转换为IGES或CSB格式后进行导入效果会更好一些。本期&a…

如何在 Ubuntu 14.04 和 12.04 上测试 systemd

本来,Ubuntu决定从Ubuntu 16.04 LTS开始使用systemd来替换当前的引导过程。Ubuntu 16.04预计在2016年4月发布,但是考虑到systemd的流行和需求,刚刚发布的Ubuntu 15.04采用它作为默认引导程序。另外,Ubuntu 14.04 Trusty Tahr和Ubu…

python-opencv 最快的遍历颜色空间_居住空间设计的七种设计风格

生活中每家每户的家居样式都是不一样的,它们都是各有各的风格。在居住空间设计中,设计师会根据居住者的风格喜好来定制相应的设计方案,以及融入设计师的风格特点来创造出独特的设计风格,那么让我看看都有哪些设计风格吧。传统风格…

java更好的语言_五个使Java变得更好的功能

java更好的语言我偶然发现了Brian Goetz 提出的有关Java数据类的建议 ,立即意识到我也对如何使Java更好地成为一种语言有一些想法。 我实际上有很多,但这只是五个最重要的简短列表。 专制(2006),迈克贾奇(…

Linux 初始化系统(系统服务管理和控制程序/Init System) -- System V init(SysV init) 的简单理解

文章目录SysV init 简介SysV init 的缺点运行级别主要文件和目录的截图SysV init 简介 System V init(缩写 SysV init)是类 Unix 操作系统中传统的也是首款初始化系统。 服务配置文件(bash 脚本文件)存放在目录 /etc/init.d 下 …

java使用缓冲区读取文件_在Java中使用Google的协议缓冲区

java使用缓冲区读取文件最近发布了 有效的Java第三版 ,我一直对确定此类Java开发书籍的更新感兴趣,该书籍的最新版本仅通过Java 6进行了介绍 。 在此版本中,显然存在与Java 7 , Java 8和Java 9密切相关的全新项目,例如…

linux多用户运行同一程序_linux系统中CentOS有哪些优势,让它长盛不衰?

CentOS是目前评价和口碑都不错的linux系统,甚至很多公司安装的都是CentOS系统,对于初入门的小白可能不了解这个系统,今天我们就整理一下CentOS系统的七大优势。1. 开源、免费众所周知,不管是微软的 Windows 还是苹果的 macOS&…

浅析 Linux 初始化系统(系统服务管理和控制程序/init system) -- UpStart

文章目录一、Upstart 简介(一)开发 Upstart 的缘由(二)Upstart 的特点二、Upstart 概念和术语(一)Job(二)Job 生命周期(三)事件 Event1.Signals2.Methods3.Ho…

telnet到设备里 php_金融行业思科设备典型网络故障案例:76系列典型案例(一)...

一、Cisco 7606主备引擎自动切换01故障现象某行上联路由器cisco7606 x月x日引擎自行切换,这种情况是第一次发生,至今仍是备引擎是active,主引擎是standby。02分析过程思科TAC提取了log日志和crashinfo信息:Previous engine detect…

白盒测试方法静态分析_静态分析的教育方面

白盒测试方法静态分析加入我们项目的新程序员经常问我们是否有自动格式化工具,以使Java代码看起来完全像Qulice期望的那样。 (Quili是我们使用的静态分析器。)我总是回答说,拥有这样一个自动代码抛光器只会有害,并且不…

java javadoc_使用Java 9向Javadoc搜索添加术语

java javadoc有一个相对较旧的网页,称为“ Proposed Javadoc Tags ”,最初似乎是与Javadoc 1.2一起编写的,其中列出了“ Sun有朝一日可能会在Javadoc中实现的标签”。 在此列表中的标签是category , example , tutoria…

浅析 Linux 初始化系统(系统服务管理和控制程序/Init System) -- systemd

文章目录一、Systemd 的简介和特点(一)同 SysVinit 和 LSB init scripts 兼容(二)更快的启动速度(三)systemd 提供按需启动能力(四)Systemd 采用 Linux 的 Cgroup 特性跟踪和管理进程…

查询 service monitor 时发生内部错误_通过Service访问应用 (1)

目录通过Service访问应用通过Pod IP访问应用 通过ClusterIP Service在集群内部访问 通过Service访问应用通过之前的操作,应用部署完成了,我们的Demo网站已经成功启动了,那么如何访问网站呢?通过Pod IP访问应用我们可以通过Pod IP来…

c语言 方程改main的值_C语言编程笔记丨编写第一个C语言程序hello world,我教你哇...

如果用C语言输出:Hello,world!,该如何编写程序?**代码如下:**#include//包含标准库的信息main()//定义名为main的函数,不接受参数值{//main函数的语句都放在花括号中,也表示函数体的…

linux定时创建文件,linux下如何创建定时任务

文/PM回忆录本篇文章不详细讲述cron服务的那种配置文件,只是应用层面的讲解,只求初步的掌握。说到定时任务,不能不介绍下cron:一、cron定时任务是什么在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|gr…

6-7 使用函数输出水仙花数_「Java」再议printf函数

System.out.printf() 是在JDK1.5版开始引入的方法,即在JDK1.5以后的版本才可以使用此函数,printf 方法有 printf(String format, Object ... args) 和 printf(Locale l, String format, Object ... args) 两种重载方式。其实学过C语言的小伙伴应该会觉得…

c语言命名规则_C语言的基本数据类型及变量

学习目标了解C语言的基本数据类型了解变量的基本概念了解变量的使用方法了解了变量的命名方法了解格式占位符了解变量的输出了解C语言程序的基本数据类型及概念的使用方法擦在C语言编程中,系统定义了多种数据类型,本节将讲解基本数据类型的分类。基本数据…

Linux 常用的软件包管理器/软件包管理工具详解

文章目录RPM 是什么?应用于哪些系统RPM 的前端工具有哪些RPM 包命名规范RPM 安装软件的默认路径RPM 安装原理图RPM 命令详解YUM 是什么?应用于哪些系统YUM 原理说明主要特点YUM 和 RPM 的区别YUM 命令详解DNF 是什么应用于哪些系统DNF 命令详解APT 是什么…

java world_Java World中的GraphQL简介

java world许多人认为GraphQL仅适用于前端和JavaScript,它在Java等后端技术中不占优势,但事实确实如此。 还经常将GraphQL与REST进行比较,但是这种比较是否合理? 首先,让我开始回答其中最重要的问题。 什么是GraphQL…