1. MongoDB 简介
MongoDB 是一个开源的 NoSQL 数据库,采用面向文档的数据模型,以 BSON(类 JSON 格式)形式存储数据,支持可扩展性高、性能好以及可靠度高等特点,提供高效的数据存储和查询能力。
与传统的关系型数据库不同,MongoDB 数据库中没有表、行、列等概念,而是由“数据文档”组成的集合。每一个文档都由一组键值对表示,但是文档之间的属性可以不相同。应用程序通过设定的条件从集合中获取文档,从而对数据进行操作。
2. 控制台操作 MongoDB
2.1 安装 MongoDB
MongoDB 的安装非常简单,在官网下载对应操作系统的压缩包后,解压到指定目录即可。安装过程中也不需要额外的操作系统安装,因此具有跨平台支持的特点。
安装完成后,在终端中运行 MongoDB 的可执行程序,并添加到系统的环境变量中。接下来,我们就可以通过运行 mongo 命令连接到 MongoDB 数据库。
2.2 连接到 MongoDB
在成功安装 MongoDB 数据库后,我们可以通过终端进入 MongoDB Shell,即命令行界面,通过编写 MongoDB Shell 命令向 MongoDB 数据库发起操作请求。连接到 MongoDB 的命令格式为:
mongo 数据库地址:端口号/数据库名称
连接到具体的某一个数据库,默认情况下,MongoDB 连接到数据库后会自动进入其 Shell 界面,命令行提示符会变成 db.getName()>。
2.3 基本操作
下面,我们将一些常见的 MongoDB Shell 命令进行介绍,这些命令可以让我们更好的操作 MongoDB 数据库。
2.3.1 创建数据库
使用 use 在 MongoDB 中可以创建数据库,该命令可以直接 执行。MongoDB 在创建数据库时不用进行显式创建,只需要在 Shell 中执行使用数据库命令,如果对应的数据库不存在,MongoDB 就会自动创建它。
use blog
2.3.2 查看当前数据库
使用命令 db 可以查看当前所在的数据库:
db
2.3.3 创建集合
在 MongoDB 中,集合相当于关系型数据库中的表。使用命令 db.createCollection(collectionName,options) 创建集合,其中 collectionName 为集合名,options 为可选项,可以用来指定集合大小、最大文档数等参数。
db.createCollection("user")
2.3.4 查看集合
使用命令 show collections 可以查看当前数据库中的集合列表:
show collections
2.3.5 插入文档
MongoDB 中的数据是以 BSON(类 JSON 格式)形式的文档存储的。使用命令 db.collectionName.insert(document) 可以向集合中插入文档,其中 collectionName 为集合名,document 为需要插入的文档。
db.user.insert(
{
"name": "Tom",
"age": 18,
"email": "tom@gmail.com"
}
)
2.3.6 查询文档
如果需要查询某个集合中的文档,可以使用命令 db.collectionName.find(query,projection),其中 collectionName 为集合名,query 用于指定查询条件,projection 用于指定需要返回的字段。
下面是一个查询所有文档的例子:
db.user.find()
如果需要对返回的结果进行限制,可以使用 limit 函数限制返回结果的数量:
db.user.find().limit(2)
2.3.7 更新文档
MongoDB 中的文档是可变的。可以使用命令 db.collectionName.update(query,update,options) 更新文档,其中 collectionName 为集合名,query 用于指定更新的条件,update 用于指定更新的内容,options 用于指定更新规则。
下面是将文档中的名称从 Tom 更新为 Jerry 的示例:
db.user.update(
{"name":"Tom"},
{$set:{"name":"Jerry"}}
)
2.3.8 删除文档
删除文档可以使用命令 db.collectionName.remove(query,options),其中 collectionName 为集合名,query 用于指定选择的文档,options 用于指定删除规则。
下面是删除 name 为 Tom 的文档的示例:
db.user.remove({"name":"Tom"})
总结
本文介绍了 MongoDB 的基础概念和操作,并详细介绍了如何在控制台中操作 MongoDB 数据库。学会使用控制台操作 MongoDB 数据库对于开发人员来说是必备的技能,在实际开发中可以极大的提高工作效率。