Spring MongoDB

首先创建数据实体,@Document(collection = "name")

建立一个一对多的关系时,

@DocumentReference

导致数据库仅仅存储条目的Id,称为手动索引关系。

也有其它的方法在MongoDB中创建关系。

接下来创建Controller。

@RestController

@RequestMapping("/api/v1/name")

返回值为ResponseEntity。HttpStatus.OK返回值类型是200。

curl -i http://localhost:8080/api/v1/name

任何适当的RestAPI 都应该返回合适的状态码。

接下来,尝试从数据库中拉一些数据。

需要一个Repository类。

Repository是Interface类型。

extends MongoRepository

@Repository,框架知道这是一个Repository。

创建一个Service类,不需要继承任何类。

@Service

在这个类中,将写数据库访问的代码。

在Service类中,需要一个Repository的引用。

@Autowired

可以直接使用MongoRepository中的方法。

再返回到Controller,需要一个Service类的引用。

为什么选择MongoDB,而不是其它的数据库。

在SQL和NoSQL之间有一个大的争论。

在SQL中,创建Tables。

在NoSQL中,我们不维持这个结构。

为什么这样重要。

因为SQL在19世纪70年代变得流行的时候,在那时存储是昂贵的。

我们需要确保使用最小的存储,这样我们可以存储最大量的数据。

这是SQL类型表的意义。

在当前的世界,我们有如此多的非结构化的数据,不能够基于它们创建列。

如果你的表被创建,而想要添加一个新列。

这在SQL中是令人头痛的事,我们不希望在这里使用SQL。

第二个情况是,你想要扩展应用。你想要数据库的复制品。

在SQL中是很难做的。

当然,你可以有复制品。但是同步它是很困难的。

NoSQL在这方面胜出。

MongoDB是NoSQL的数据库。没有Tables,而是Collections。

SQL中用行来存储数据。

在NoSOL中是一个Document。

Documents是Collections的一部分。

不需要为MongoDB安装软件,因为会使用云服务,这个技能集合是很重要的。

其次,需要创建一个MongoDB Service。

MongoDB Atlas。

可以选择AWS,Google Cloud或者Azure。

将在本地环境中使用,连接在自己机器上运行的应用。

仅仅允许自己的机器使用数据库。

这样就部署好了数据库。

Cluster被创建了,还没有创建数据库。

可以点击Browse Collection来浏览数据库。

Collection相当于SQL中的Table。

在Collection里面创建数据库名称,和Collection名称。

你可能感兴趣的:(mongodb,数据库)