网站查询访问域名,企业网站管理系统设计报告,东昌府网站建设公司,wordpress安装不能选择数据库文章目录 1. 前言2. MongoDB简介3. MongoDB与关系型数据库的对比4. MongoDB的安装5. Compass的使用6. MongoDB的常用语句7. 总结 1. 前言
本文旨在帮助大家快速了解MongoDB,快速了解和掌握MongoDB的干货内容.
2. MongoDB简介
MongoDB是一种NoSQL数据库#xff0c;采用了文档… 文章目录 1. 前言2. MongoDB简介3. MongoDB与关系型数据库的对比4. MongoDB的安装5. Compass的使用6. MongoDB的常用语句7. 总结 1. 前言
本文旨在帮助大家快速了解MongoDB,快速了解和掌握MongoDB的干货内容.
2. MongoDB简介
MongoDB是一种NoSQL数据库采用了文档数据库模型。它以BSONBinary JSON格式存储数据支持动态模式和灵活的查询语言。MongoDB具有以下特点
文档存储MongoDB以文档Document的形式存储数据每个文档是一个自包含的数据单元类似于关系型数据库的行。动态模式MongoDB不需要预定义的表结构可以根据需要动态添加字段更加灵活。分布式存储MongoDB支持分片和副本集等方式进行水平扩展和高可用性部署。强大的查询语言MongoDB支持丰富的查询语言包括嵌套查询、索引和聚合操作等可以满足各种查询需求。
MongoDB适用于需要处理半结构化数据、大规模数据和高并发读写的场景例如Web应用的用户数据、日志数据的存储和分析等。它提供了灵活的数据模型和强大的查询能力使得开发者可以更加高效地处理复杂的数据操作。 NoSQLNot Only SQL是一种非关系型数据库Non-Relational Database的分类与传统的关系型数据库RDBMS相对应。NoSQL数据库的设计目标是解决关系型数据库在大规模数据存储和高并发读写方面的限制。 3. MongoDB与关系型数据库的对比
MongoDB是一个文档型数据库而关系型数据库则是一种基于表格的数据库。 可以看到还是有许多相似的地方,但也有很多不同.MongoDB提供了更好的可扩展性和大数据处理能力而关系型数据库则更适用于小型企业和机构级别的数据处理。
4. MongoDB的安装
官网:MongoDB应用程序数据平台 | MongoDB 选择Community Server 选择版本以及对应的操作系统后,点击 Download 即可开始安装 下载完成之后打开安装包,一直点击 next 就可以了 安装完成之后,桌面会出现一个MongoDB的GUI工具Compass的快捷方式
5. Compass的使用
双击打开,会看到以下界面: 点击Connect即可连接本地的MongoDB服务 注: admin,config和local为MongoDB默认的数据库
此外在Compass的下方有一个mongosh的交互式命令行终端,就可以输入一些命令来操作MangoDB
6. MongoDB的常用语句
查看数据库:
show databases
show dbsMongoDB 中默认的数据库为 test如果你没有创建新的数据库集合将存放在 test 数据库中。
选中/创建数据库:
use [database]注: 即使这个数据库不存在也可以运行.如果数据库不存在则创建数据库否则切换到指定数据库。 示例: 可以看到虽然创建了game数据库,但是查看数据库时并没有这个数据库.这是因为数据库中没有数据
接下来我们来插入几条数据,但首先先来了解一下MongDB中文档的概念: MongoDB集合是MongoDB文档数据存储的基本单位类似于关系数据库中的表。它是一个无架构的容器可以存储任意的文档数据。MongoDB的文档数据是使用JSON格式表示的它们可以包含不同的字段和值。 插入一个文档到集合中:
db.collection.insertOne()示例: db.user表示创建了一个名为user的集合
insertOne():用于插入文档到集合中
返回值:
acknowledged: 表示这条数据是否插入成功,成功返回trueinsertedId: 全局唯一id,由Mongodb生成
查询集合中的数据:
db.collection.find()示例: MongDB中的不同文档的结构并不要求相同,如下图所示: 可以看到一条数据有age字段,另一条数据没有age字段.,这也是与MySQL中的行不一样的地方. 插入多条数据:
db.collection.insertMany()示例: 限制查询返回结果的数量:
limit()示例: 排序查询结果:
sort()示例: sort中的参数是一个对象,要传入一个字段,为比较的对象. 1表示升序,-1表示降序.
当然也可以比较多个参数,只需要再参数的后面再加一个参数就可以了
如下所示:
db.user.find().sort({age:1,name:1})跳过一些查询结果:
skip()示例: 表示的是查询按照年龄升序 ,并跳过前两条的数据
一般来说 skip函数都是和sort函数一起使用的,用来实现分页的功能
条件查询:
find({field:value})示例:
查询年龄为20的用户 注意如果输入的是20,那么就不会产生任何数据,因为MongoDB中的数据类型是非常严格的 其中第二个字段后面的数据1,表示要返回的字段
这里的_id是MongoDB自动返回的,如果不想返回,可以在第二参数中加上_id,值为0 MongoDB中也可以使用一些运算符来实现复杂查询的语句
例如返回年龄大于18的用户 其中$gt就是,常见的运算符如下:
ltless than 小于
leless than or equal to 小于等于
eqequal to 等于
nenot equal to 不等于
gegreater than or equal to 大于等于
gtgreater than 大于$in()可以查询某个字段的值是否在一个数组中
例如查询年龄为18和20的用户 当然也可以使用$nin()查询某个字段的值是否不在一个数组中
$exists()判断某个字段是否存在
查询具有age字段的用户:其中1或true表示存在,0和false表示不存在 其中1或true表示存在,0和false表示不存在 以下也是一些常用的MongoDB命令:
$exists()只能判断某个字段是否存在,但不能判断某个字段的值是否存在$and:[{条件1},{条件2}]:逻辑与$or:[{条件1},{条件2}]:逻辑或$not:{条件}: 逻辑非$regex:/expression/:正则表达式countDocuments():统计文档数量findOne({filter}):查询满足条件的一条数据updateOne():更新满足条件的一条数据updateMany():更新满足条件的多条数据deleteOne():删除满足条件的一条数据deleteMany():删除满足条件的多条数据
7. 总结
MongoDB是一个功能强大的数据库管理系统适合处理具有高度的非结构化数据和数据量的应用程序。它用于各种用例包括Web应用程序、大数据等具有高可伸缩性、高性能、高可用性、分布式和非结构化数据存储等特点。