为了账号安全,请及时绑定邮箱和手机立即绑定

MongoDB整理介绍 官方云端使用方法

标签:
MongoDB

MongoDB介绍

MongoDB是一种面向文档型的非关系型数据库(NoSQL),由C++编写。非关系数据库中是以键值对存储,结构不固定,易存储,减少时间和空间的开销。文档型数据库通常是以JSON或XML格式存储数据,而Mongodb使用的数据结构是BSON(二进制JSON),和JSON相比,BSON提高了存储和扫描效率,但空间占用会更多一些。

官方的自述:现代应用程序的数据库

MongoDB 是一个通用的、基于文档的分布式数据库,专为现代应用程序开发人员和云时代而构建。

MongoDB 是一个文档数据库,这意味着它将数据存储在类似 JSON 的文档中。我们相信这是思考数据的最自然的方式,并且比传统的行/列模型更具表现力和强大。

丰富的 JSON 文档

  • 最自然、最高效的数据处理方式。

  • 支持数组和嵌套对象作为值。

  • 允许灵活和动态的模式。

{
"_id": “5cf0029caff5056591b0ce7d”,
“firstname”: “Jane”,
“lastname”: “Wu”,
“address”: {
“street”: “1 Circle Rd”,
“city”: “Los Angeles”,
“state”: “CA”,
“zip”: “90404”
},
“hobbies”: [“surfing”, “coding”]
}

强大的查询语言

  • 丰富而富有表现力的查询语言,允许您按任何字段进行过滤和排序,无论它在文档中如何嵌套。

  • 支持聚合和其他现代用例,例如基于地理的搜索、图形搜索和文本搜索。

  • 查询本身就是 JSON,因此很容易组合。不再需要连接字符串来动态生成 SQL 查询。

db.users.find({ “address.zip” : “90404” })
{ “_id”: “5cf0029caff5056591b0ce7d”, “firstname”: “Jane”, “lastname”: “Wu”, “address”: { “zip”: “90404” } }
{ “_id”: “507f1f77bcf86cd799439011”, “firstname”: “Jon”, “lastname”: “Davis”, “address”: { “zip”: “90404” } }
{ “_id”: “5349b4ddd2781d08c09890f3”, “firstname”: “Jim”, “lastname”: “White”, “address”: { “zip”: “90404” } }
{ “_id”: “5bf142459b72e12b2b1b2cd”, “firstname”: “Jeff”, “lastname”: “Taylor”, “address”: { “zip”: “90404” } }
{ “_id”: “5cf003283b23d04a40d5f88a”, “firstname”: “Jerry”, “lastname”: “Miller”, “address”: { “zip”: “90404” } }
{ “_id”: “5bf142459b72e12b2b1b2cd”, “firstname”: “Jai”, “lastname”: “Williams”, “address”: { “zip”: “90404” } }
{ “_id”: “5cf0036deaa1742dd225ea35”, “firstname”: “Jess”, “lastname”: “Johnson”, “address”: { “zip”: “90404” } }
{ “_id”: “54495ad94c934721ede76d90”, “firstname”: “Jill”, “lastname”: “Brown”, “address”: { “zip”: “90404” } }
{ “_id”: “566eb3c704c7b31facbb0007”, “firstname”: “Janet”, “lastname”: “Jones”, “address”: { “zip”: “90404” } }
{ “_id”: “5a999cc461d36489a27f2563”, “firstname”: “Jan”, “lastname”: “Smith”, “address”: { “zip”: “90404” } }

关系数据库的所有功能

  • 具有快照隔离的分布式多文档 ACID 事务。

  • 支持查询中的连接。

  • 两种类型的关系而不是一种:引用和嵌入。

session.start_transaction()
order = { line_items : [ { item : 5, quantity: 6 } ] }
db.orders.insertOne( order, session=session );
for x in order.line_items:
db.inventory.update(
{ _id : x.item } ,
{ $inc : { number : -1 * x.quantity } },
session=session
)
session.commit_transaction()

MongoDB安装

肯定有小伙伴发现使用Python操作MongoDB时,发现没有数据怎么办?

两种方法:1.将MongoDB下载安装本地;2.MongoDB官方自带的云学习平台,无需安装MongoDB,直接使用(建议尝试)

在这里插入图片描述

Cloud 云端 (本篇重点)

建议尝试原因:Free免费 完全不用自己本地安装一个,直接用云端服务来学习,完全可以,就是要注册一个账号(很正常)

连不上?网慢?你都是程序猿了,不会用梯子?

1)注册账号

注册MongoDB官网的账号 也可以使用Google账号 在这里插入图片描述

2)创建项目

  1. 填写项目的名称

  2. 选择你的开发语言

  3. 选择你的云端的类型,就如同阿里云服务器一个意思,这里面你可以选择Free免费机器。

  4. 选择服务器的公司和地区,随便选,选择一个你能连接上的 在这里插入图片描述在这里插入图片描述在这里插入图片描述

3)配置连接项

  1. 添加你的本地IP,连接服务的本地IP,就是白名单,你想如何地方都可以连接,请设置:0.0.0.0/0 这个就是有点危险

  2. 数据库连接账号User

  3. 选择一个连接方法 在这里插入图片描述在这里插入图片描述在这里插入图片描述

4)三种连接方法

第一种,Shell窗口

  1. 根据你的系统平台,下载工具

  2. 配置系统环境

  3. 打开shell窗口,将代码复制粘贴,回车,输入密码,就连接到MongoDB服务了。 在这里插入图片描述在这里插入图片描述在这里插入图片描述

第二种,运用代码驱动 在这里插入图片描述 第一次测试的时候,遇到了个小问题: 在这里插入图片描述pymongo.errors.ConfigurationError: The “dnspython” module must be installed to use mongodb+srv:// URIs 提示需要安装 “dnspython”

解决方法: pip3 install pymongo[srv] 或 pip3 install dnspython

Python 连接 MongoDB 成功! 在这里插入图片描述

第三种,可视化工具 MongoDB Compass Community:比较流行的MongoDB管理工具列表 可视化工具都不用找了,直接提供了一个最流行的工具,学习工作用这个工具足够了! 在这里插入图片描述在这里插入图片描述在这里插入图片描述

下载本地

根据自己的情况,选择版本,操作系统平台,包的类型,点击下载即可,自学下载社区版就可以。 在这里插入图片描述

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消