前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >文档数据库 MongoDB

文档数据库 MongoDB

作者头像
arcticfox
发布2019-09-03 19:20:20
2K0
发布2019-09-03 19:20:20
举报
文章被收录于专栏:编程之路的专栏
  • 概述
    • MongoDB
  • 环境准备
    • Windows 平台
      • 使用MongoDB
      • 配置 MongoDB 服务
      • 报错处理
      • 图形化工具
    • Ubuntu平台
  • 简单示例

概述

什么是NoSQL?

NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。

简单说,通常我们使用的SQLite3、MySQL都是关系型数据库,使用一种通用的SQL脚本语言来操作,NoSQL数据则没有这种SQL语言,其内部保存的是一种JSON字符串。

MongoDB

它是一款开源、跨平台、分布式,具有大数据处理能力的文档数据库。由C++语言编写,主要解决的是海量数据的访问效率问题,为WEB应用提供可扩展的高性能数据存储解决方案。当数据量达到50GB以上的时候,MongoDB的数据库访问速度是MySQL的10倍以上。

MongoDB在启动后会将数据库中的数据以文件映射的方式加载到内存中。如果内存资源相当丰富的话,这将极大地提高数据库的查询速度,毕竟内存的I/O效率比磁盘高得多

通常来说,Python爬虫更适合使用MongoDB数据库,爬取的Json数据可以直接存入MongoDB,操作简单,学习成本低,上手快,是Python开发者必备技能。

概念类比

MySQL

MongoDB

Table (表)

Collection (集合)

Row (行)

Document (文档)

Column(字段)

Field (键值对)

环境准备

MongoDB是跨平台的,我们可以先在Windows系统上学习和使用,它在Linux环境上的配置会比Windows上更简单。

Windows 平台

官方下载地址[1]

中文文档[2]

打开官网,根据自己电脑系统情况,选择合适的版本下载

下载完成后,通过下一步进行安装,需注意,安装过程中不要选中 install mongoDB compass,这是它自带的图形界面程序,可能话导致卡住,耗费更多时间,不建议安装,后面会介绍更好的一款图形界面程序替代。

为了在命令行中使用它,安装完成后还需要配置一下环境变量,将mongodb\bin目录加入到系统的PATH环境变量中。

使用MongoDB
  • 创建数据库文件夹 存放位置如d:/mongodb/data/db
  • 启动MongoDB mongod --dbpath D:\mongodb\data\db
  • 检测启动 浏览器访问 http://localhost:27017
  • 连接MongoDB 输入命令 mongo
配置 MongoDB 服务

将MongoDB设置成Windows服务,每次开机MongoDB就能自动启动

  • 创建一个配置文件位于 C:\mongodb\mongod.cfg,可指定一个目录
代码语言:javascript
复制
systemLog:
    destination: file
    path: E:\MongDb\log\mongod.log
storage:
    dbPath: E:\MongDb\data\db
  • 管理员身份打开cmd命令行
代码语言:javascript
复制
mongod --config C:\mongodb\mongod.cfg --install --serviceName "MongoDB"
  • 启动MongoDB服务
代码语言:javascript
复制
net start MongoDB
  • 关闭MongoDB服务
代码语言:javascript
复制
net stop MongoDB
  • 移除 MongoDB 服务
代码语言:javascript
复制
mongod --remove
报错处理

首先需要确认dblog文件夹是否都已创建,其次在Linux系统上,还需要确认是否拥有文件夹的读写权限

图形化工具

下载安装Robo 3T [3]该工具是跨平台的MongoDB可视化工具

在这里插入图片描述

Ubuntu平台

在Ubuntu下安装,只需敲一行命令即可

代码语言:javascript
复制
sudo apt-get install mongodb

简单示例

安装驱动模块pymongo

代码语言:javascript
复制
python -m pip install pymongo

示例

代码语言:javascript
复制
import pymongo

# 连接数据库
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mytest"]

# 读取 MongoDB 中的所有数据库
# dblist = myclient.list_database_names()
# 读取 MongoDB 数据库中的所有集合
# collist = mydb.list_collection_names()

# 创建名为"myset"的集合
mycol = mydb["myset"]

# 创建字典
mydict = {
	"name": "RUNOOB",
	"alexa": "10000",
	"url": "https://www.runoob.com"
}

# 插入数据
mycol.insert_one(mydict)

# 关闭连接
myclient .close()

参考资料

[1]

官方下载地址: https://www.mongodb.com/download-center#community

[2]

中文文档: http://www.runoob.com/mongodb/mongodb-tutorial.html

[3]

Robo 3T : https://robomongo.org/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程之路从0到1 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
    • MongoDB
    • 环境准备
      • Windows 平台
        • 使用MongoDB
        • 配置 MongoDB 服务
        • 报错处理
        • 图形化工具
      • Ubuntu平台
      • 简单示例
        • 参考资料
        相关产品与服务
        云数据库 MongoDB
        腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档