db数据库使用(db在数据库里是啥意思)

db数据库使用(db在数据库里是啥意思)MongoDB 是一种基于文档的 NoSQL 数据库管理系统 使用 JSON 样式的 BSON 格式存储数据 具有灵活的数据模型和良好的扩展性 适用于大数据 高并发和快速开发的场景 数据库 Database MongoDB 中的数据库是一个容器 包含了多个集合 集合 Collection

大家好,我是讯享网,很高兴认识大家。



MongoDB 是一种基于文档的 NoSQL 数据库管理系统,使用 JSON 样式的 BSON 格式存储数据,具有灵活的数据模型和良好的扩展性,适用于大数据、高并发和快速开发的场景。

数据库(Database):MongoDB中的数据库是一个容器,包含了多个集合。

集合(Collection):类似关系数据库中的表,存储在数据库当中。文档存放在集合中不需要相同的结构

文档(Document):MongoDB中的数据记录,使用BSON(二进制JSON)的形式存储,包含嵌套的键值对,数组等文档

字段(Field):文档的键值对

 

讯享网

Windows用户可以直接进入官网进行安装

安装网址:Download MongoDB Community Server | MongoDB

Mac用户可以通过终端进行安装,以Mac用户为例,使用Homebrew

Homebrew 是 macOS 上的一个包管理器,旨在帮助用户简便地安装、更新和管理软件包(软件和工具)。Homebrew 类似于 Linux 系统上的  或 ,可以自动解决软件的依赖关系并简化安装流程。

讯享网

在Homebrew中提供了以下命令方便后续安装包

安装软件包

 

更新Homebrew及其软件库

讯享网

升级已经安装的软件

 

列出已安装的软件

讯享网

卸载软件包

 

在终端中输入以下指令,从Homebrew中下载MongoDB

讯享网

在终端中

 

如果下载了MongDB Shell

可以在终端中输入以下命令进入MongoDB Shell

讯享网

 

在python中使用mongoDB需要使用本地与其连接,可以想象为使用python打开了mongoDB这个程序,下一步就是在程序中打开或者创建我们的数据库

语法类似于pandas中DataFrame创建新的列

讯享网

在数据库中创建新的集合,类比SQLite创建一张表格用于存储信息 

- 插入一条文档

 

在所对应的集合中插入一条文档,文档的格式必须以字典的形式进行,因为MongDB数据库存储noSQL类型的数据

- 插入多个文档

讯享网

面临有多个文档,使用insert_many函数

 5.3.1 基本查询

 • 查询一条文档

 

• 查询多个文档

讯享网

针对多项数据,MongoDB不会直接返回数据内容,而是返回一个游标对象

游标对象(Cursor)是一种用于逐行遍历和操作数据记录的对象,通常在处理数据库或大数据集时使用。游标对象可以让我们在不一次性加载所有数据到内存的情况下,逐步获取数据,避免因数据量过大导致的内存溢出问题。

通过遍历与循环我们可以将游标对象内部的数据获取


讯享网

5.3.2 条件查询

 

条件判断的形式是在函数内部传入一个{‘key’:value},以字典的形式进行传递

讯享网

还可以使用比较运算符进行一些较为复杂的比较,形式为仍然以字典的形式进行传递,{‘key’:{‘条件判断’:用于判断的值}}

以下是MongoDB支持的比较运算符语法

\(gt</td><td>大于</td></tr><tr><td>\)lt小于 \(gte</td><td>大于等于</td></tr><tr><td>\)lte小于等于 \(ne</td><td>不等于</td></tr></tbody></div> <p></p> <h4>5.3.3 逻辑运算符</h4> <p>使用逻辑运算符进行更为严格且细致的筛选数据</p> <pre></pre> <p>传入形式仍然是{}字典形式&#xff0c;内容格式{&#39;逻辑运算符&#39;:[{},{}]}&#xff0c;通过数组[]表达式进行不同条件的连接&#xff0c;在其内部的判断条件语法与正常的比较运算一致</p> <div border="1" cellpadding="1" cellspacing="1" style="width:500px;"><tbody><tr><td>\)and与/且 \(or</td><td>或</td></tr><tr><td>\)not非$nor都不满足

 

在MongoDB中语法段的分割几乎都是使用{}

更新文档数据内容使用update_one函数,其中第一项传入条件判断,找到需要被更新的文档;第二项传入更新文档的内容,上述的例子将age的值修改为20 

讯享网
 

传入一个条件判断,删除对应的文档

deleteOne函数删除单条文档;deleteMany函数删除多条文档

创建索引,根据索引进行查找可以加速查询,但会占用内存空间;以空间换时间

创建索引

讯享网

查看所有索引 

 

删除索引 

讯享网

5.7.1 手动关闭

 

5.7.2 自动关闭

使用  语句(上下文管理器)来自动管理连接,离开  代码块后会自动关闭连接:

讯享网

之后在终端中退出MongoDB

 

MongoDB Shell使用的是JavaScript风格的命令行语法,而PyMongo则是Python语言的语法

MongoDB Shell中的函数首个单词一般是小写紧接着的单词首字母大写,pymongo则使用下划线"_"进行分割

例如delete_one函数,在MongoDB Shell中语法为deleteOne

- 灵活的数据模型:MongoDB使用文档存储(BSON格式),允许存储复杂的数据结构。这种灵活性使得数据库能够适应变化的需求,不需要事先定义模式。

- 高性能:MongoDB在读写操作上表现出色,特别是在处理大规模数据时。通过内存映射文件和高效的索引机制,它能够快速检索数据。

- 横向扩展能力:MongoDB支持水平扩展,可以通过分片(sharding)将数据分布在多个服务器上,以处理不断增长的存储需求和负载。

- 数据冗杂:为了实现高性能,MongoDB常常采用数据冗余的方式(例如,嵌套文档)。这可能导致数据的一致性问题,需要在应用层进行额外的管理。

- 缺乏复杂的查询能力:虽然MongoDB支持多种查询,但某些复杂的查询(如连接查询)可能不如关系数据库容易实现,或者需要更多的开发工作。

- 内存使用高:MongoDB依赖于内存映射来提高性能,可能需要更多的内存资源来有效运行。大规模的数据集可能导致高内存消耗。

小讯
上一篇 2025-06-09 19:59
下一篇 2025-04-23 10:49

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/143902.html