MongoDB 简介 - 安装、Shell 和数据库管理
介绍
最近,我开始在一个企业项目中使用MongoDB,在此过程中我学到了很多东西。在本文中,我将介绍 MongoDB 以及如何开始使用它。在本系列指南结束时,您将了解直到基本 CRUD(创建、检索、更新、删除)操作的所有内容。
MongoDB 是一个NoSQL 数据库框架。NoSQL 数据库不同于 MySQL 或 postgreSQL 等传统关系数据库 (RDB)。RDB 具有特定的预定义模式、字段、约束、字段类型、触发器等。
对于典型的 NoSQL 数据库,没有上述情况。在构建数据库之前无需定义结构。这允许 MongoDB 数据库根据应用程序进行扩展或缩减,而传统的 RDB 则不易扩展。在大多数情况下,NoSQL 速度更快;因此,如果您需要存储或检索大量数据,NoSQL 是最佳选择。
NoSQL 数据库有多种类型,例如键值存储、文档数据库、宽列存储和图形数据库。MongoDB 是一种文档数据库,它使用 JSON(JavaScript 对象表示法)等语法将所有架构和记录存储在文档中。如果您熟悉 Web 开发,那么 MongoDB 会让您感觉很舒服。
安装
请参阅官方 MongoDB 指南来安装数据库基本知识。
安装 MongoDB 后,将bin目录添加到路径中。您需要注意两个二进制可执行文件。
- mongod——这是 MongoDB 服务器的守护进程(始终在后台作为服务运行的程序)。
- mongo——这是 MongoDB 的命令行客户端 shell 界面。
注意: MongoDB服务器通常在端口27017上运行。
壳
通过从任何操作系统命令行终端界面执行mongo命令来启动 shell :
C:\Users\Praveen> mongo⏎ # Windows
Praveen-MBP:~ Praveen$ mongo⏎ # Macintosh
praveen@ubuntu:~$ mongo⏎ # Ubuntu
一旦进入此部分,您将看到一个黑屏,其中显示以下内容:
praveen@ubuntu:~$ mongo
MongoDB shell version: 3.0.7
connecting to: test
Server has startup warnings:
[ some crazy error info messages ]
[ you don't need to worry about ]
>
会出现一些奇怪的警告,但您不必担心。如果我们按Ctrl + L或在 shell 中输入cls并按Enter,所有消息都将被清除。您将只剩下MongoDB Shell:
>
命令
显示所有数据库
要列出当前服务器中可用的所有数据库,我们需要使用命令show dbs。它显示一个默认的本地数据库,我们将把它放在一边而不去触碰它。
> show dbs
local 0.000GB
>
创建数据库
要创建和使用新数据库,我们需要use命令。让我们创建一个名为praveen的新数据库:
> use praveen
switched to db praveen
>
当我们使用use命令时,如果尚不存在数据库,它会创建一个新的数据库,并且切换到该数据库。
要检查我们当前所在的数据库,我们可以使用一个名为db的便捷命令。如有疑问,它将为我们提供我们当前所在的数据库。
> db
praveen
>
文件
文档的语法类似于 JSON(JavaScript 对象表示法)。例如:
{
"field1": "value1",
"field2": "value2",
// --- and so on ---
"fieldN": "valueN"
}
注意:有效的 JSON 不会有尾随逗号。查看最后一个值 - ValueN不以逗号结尾。
让我们考虑一个学生记录。典型的学生记录可能包含姓名、电子邮件和学位等基本详细信息:
{
"name": "Praveen Kumar",
"degree": "Cloud Computing",
"email": "praveen@example.com"
}
上面的数据集只是简单的字符串值。数组和对象也可以是数据库中的值。例如,我们的数据库可能有一个用于“科目”的字段,该字段以数组格式跟踪所有课程。在此示例中,每个班级或课程将是一个表示科目详细信息的对象。我们还可以将学生的电话号码保存为数组格式。每种用法如下所示:
{
"name": "Praveen Kumar",
"degree": "Cloud Computing",
"email": "praveen@example.com",
"subjects": [
{
"name": "Internet Networks",
"prof": "Prof. Awesome Blossom"
},
{
"name": "Cloud Computing",
"prof": "Prof. Tech Ninja"
},
{
"name": "Web Development",
"prof": "Prof. Chunky Monkey"
}
],
"phone": ["9840035007", "9967728336", "7772844242"]
}
数据库管理
用户管理
要开始使用我们刚刚创建的 MongoDB 数据库,我们需要创建一些用户。创建用户的函数是db.createUser()。有很多不同的方法可以做到这一点,但我们专注于最简单的方法:
db.createUser({
user: "praveen",
pwd: "praveen",
roles: ["readWrite", "dbAdmin"]
});
注意:这里的db变量表示当前活动数据库。
在 shell 上执行此操作将给你类似以下内容的成功输出:
> db.createUser(
... {
... user: "praveen",
... pwd: "praveen",
... roles: [ "readWrite", "dbAdmin" ]
... }
... )
Successfully added user: { "user" : "praveen", "roles" : [ "readWrite", "dbAdmin" ] }
>
现在我们有了用户,让我们继续添加一些数据!
内容管理
在传统数据库中,我们通常使用模式(或表),但 NoSQL 数据库没有这样的硬性规定。我们有集合而不是表。基本上,集合保存文档或记录。
创建集合
要创建集合,请使用db.createCollection()方法。它需要一个参数:集合的名称。要为学生创建集合,我们将使用:
> db.createCollection("students");
{ "ok" : 1 }
>
成功消息将显示受影响项目(或在本例中为创建的集合)的数量。
列出收藏品
要列出此特定数据库中的所有集合,我们可以使用show collections。输出将类似于:
> show collections
students
>
插入到集合中
插入集合类似于数组的推送函数。我们将使用db.collection.insert()函数。在我们的例子中,集合是students。因此,我们将使用:
db.students.insert({
name: "Praveen Kumar",
degree: "Cloud Computing",
email: "praveen@example.com",
subjects: [
{
name: "Internet Networks",
prof: "Prof. Awesome Blossom"
},
{
name: "Cloud Computing",
prof: "Prof. Tech Ninja"
},
{
name: "Web Development",
prof: "Prof. Chunky Monkey"
}
],
phone: ["9840035007", "9967728336", "7772844242"]
});
成功消息将类似于您在此处看到的内容:
> db.students.insert({
... "name": "Praveen Kumar",
... "degree": "Cloud Computing",
... "email": "praveen@example.com",
... "subjects": [
... {
... "name": "Internet Networks",
... "prof": "Prof. Awesome Blossom"
... },
... {
... "name": "Cloud Computing",
... "prof": "Prof. Tech Ninja"
... },
... {
... "name": "Web Development",
... "pr
免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!
请先 登录后发表评论 ~