MongoDB基本操作

为什么需要MongoDB

设置数据存储时,您的首要任务是回答以下问题:“我想存储哪些数据以及这些字段之间如何关联?”。

本指南使用一个假设的库存数据库来跟踪项目及其数量、大小、标签和评级。

以下是您可能希望捕获的字段类型的示例:

名称数量尺寸地位标签评分
杂志2514x21,cm一种棕色,有衬里9
笔记本508.5x11,英寸一种大学统治,穿孔8
1008.5x11,英寸D水彩10
规划师7522.85x30,cmD2019年10
明信片4510x,cmD双面,白色2

数据存储格式 JSON
虽然表可能看起来是存储数据的好地方,但正如您从上面的示例中看到的,此数据集中的某些字段需要多个值,并且如果在单个列中建模(例如例如 尺寸和标签)。

在 SQL 数据库中,可以通过创建关系表来解决这个问题。

在 MongoDB 中,数据存储为文档。这些文档以JSON(JavaScript Object Notation)格式存储在 MongoDB 中。JSON 文档支持嵌入字段,因此相关数据和数据列表可以与文档一起存储,而不是与外部表一起存储。

JSON 格式为名称/值对。在 JSON 文档中,字段名和值用冒号分隔,字段名和值对用逗号分隔,字段集封装在“花括号”({})中。

如果您想开始对上述行之一进行建模,例如这一行:

名称数量尺寸地位标签评分
笔记本508.5x11,英寸一种大学统治,穿孔8

可以从namequantity字段开始。在 JSON 中,这些字段如下所示:

确定嵌入数据的候选对象并为数据建模

接下来,我们将决定哪些字段需要多个值。这些字段将是嵌入文档或文档中嵌入文档的列表/数组的候选者。

例如,在上面的数据中,尺寸可能包含三个字段:

并且某些项目有多个评级,因此ratings可能表示为包含字段的文档列表scores

而且您可能需要为每个项目处理多个标签。因此,您也可以将它们存储在列表中。

最后,存储库存项目的 JSON 文档可能如下所示:

这看起来与您在步骤 1 中开始使用的表格数据结构非常不同。

总结

恭喜。您现在已经了解如何使用 JSON 文档构建数据。

MongoDB介绍

MongoDB是一个开源文档数据库,提供高性能,高可用性和自动扩展,旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB中的记录是一个文档,它是由字段和值(key=>value)对组成的数据结构。 MongoDB文档与JSON对象相似。 字段的值可能包括其他文档,数组和文档数组。

在mongodb中基本的概念是文档(document)、集合(collection)、数据库(database)。

SQL术语/概念    MongoDB术语/概念    解释/说明
database           database                     数据库
table                  collection                    数据库表/集合
row                   document                    数据记录行/文档
column             field                             数据字段/域
index                index                           索引
table joins                                           表连接,MongoDB不支持
primary key       primary key              主键,MongoDB自动将_id字段设置为主键

MongoDB安装
安装
安装教程:https://blog.csdn.net/qq_34731574/article/details/57416920

命令执行完毕后,在浏览器输入:http://localhost:27017,
检查是否安装成功

创建服务
安装成功后,将MongoDB服务器作为Windows服务运行。

1自行创建data文件夹和日志log文件夹,在data文件夹中创建db子文件夹,用来存放数据库,然后在mongo.cfg中添加配置信息:

2接着在 bin 目录下,输入:

3配置环境变量:在系统的环境变量 path的值 后面加上mongodb的安装路径
在path值的最后加 ;D:\MongoDB\mongodb\bin(分号不要忘)

4打开mongo的服务: net start MongoDB

5关闭服务:net stop MongoDB

MongoDB基本操作

  查看数据库

admin: 从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。

local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合

config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

选择数据库

以上示例命令中,“local” 是要链接的数据库。

数据库也通过名字来标识。数据库名可以是满足以下条件的任意UTF-8字符串。

有一些数据库名是保留的,可以直接访问这些有特殊作用的数据库。

但是,当我们指定连接不存在的数据库时:并不会报错

这是MongoDB的隐式创建的方法,后面当对其插入集合文档时候自然创建。

查看集合

选择数据库—再查看

创建集合

隐式创建数据库test1,查看是没有集合的,通过语句创建集合’c1’ ,‘c2’。

删除集合

思考:如何删除数据库?

回答:1通过use语法选中数据库,2通过db.dropDatabase()删除数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值