Java MongoDB简介


在,我们生活在一个数据驱动的世界中,在那里我们生成大量数据,以至于很难使用数据库来管理这些数据。对于不同的用例,可以使用不同的数据库。长期以来,关系数据库一直用于大多数用例,但是随着技术的进步和现代应用程序的出现,它们需要更大的可伸缩性和多样性,选择正确的数据库就变得很重要。这是No-SQL数据库之一(例如MongoDB)出现的地方。在此博客中,我们将介绍MongoDB以及如何使用Java入门MongoDB。

什么是MongoDB? MongoDB是一个开源的非关系,面向文档的数据库。MongoDB是面向文档的,这意味着它像文档一样以JSON格式存储数据,从而使其功能更强大,更具表达力。数据以密钥对值存储在文档中。

MongoDB的另一个组件是集合,它是文档的集合。集合对应于关系数据库中的表。

screenshot-from-2020-10-25-21-26-58.png

MongoDB文档结构。 为什么要使用MongoDB?

  1. 它是基于文档的,因此每个文档可以具有在关系数据库中无法完成的不同字段的情况下,它具有更大的灵活性。
  2. 它使我们可以为文档中的任何字段建立索引,以改善搜索结果。
  3. 它为我们提供了丰富而强大的查询语言,无论字段有多嵌套,它都允许我们使用任何字段进行过滤和排序。
  4. 它为我们提供了数据的高可伸缩性(分片)和高可用性(复制)。

将MongoDB与Java结合使用 到现在为止,我们对MongoDB有了基本的了解,以及为什么我们应该使用Mongo作为我们的首选数据库。现在,我们将研究如何通过制作一个小型CRUD应用程序来使用Java与Mongo进行交互。

要运行此应用程序,您需要在本地计算机上安装Mongo环境。您可以按照此处给出的步骤进行操作。

完成后,让我们开始构建CRUD应用程序。

将Mongo与Java结合使用的第一件事是在我们的pom.xml中添加MongoDB依赖项

<dependencies>
     <dependency>
       <groupId>org.mongodb</groupId>
       <artifactId>mongo-java-driver</artifactId>
       <version>3.10.2</version>
     </dependency>
</dependencies>

连接到数据库 假设我们已经完成了项目设置,并且已经解决了依赖性,现在我们将使用Java连接到Mongo。

要与MongoDB进行交互,您需要与其建立初始连接。为此,我们将创建一个MongoClient。它是您的Java程序和Mongo服务器之间的接口。MongoClient可用于建立连接,连接到数据库以及对数据库执行分类操作。

String uri = "mongodb://localhost:27017";
MongoClientURI mongoClientURI = new MongoClientURI(uri);
MongoClient mongoClient = new MongoClient(mongoClientURI);

这里的uri是localhost:2701 ,这是MongoDB实例的默认端口。如果此Mongo实例在其他端口上运行,则可以更改此uri。

创建收藏 一旦建立完连接,我们现在可以创建数据库。我们可以通过使用MongoClient调用getDatabase来创建数据库。

MongoDatabase mongoDatabase = mongoClient.getDatabase("CrudDB");

如果数据库不存在,这将创建一个名为“ CrudDB”的新数据库。

要从该数据库检索文档,我们可以使用MongoClient的getCollection方法。

MongoCollection<Document> collection = mongoDatabase.getCollection("testOne");

创建一个新文件

要创建一个新文档并向其中插入值,我们将使用insertOne()方法,该方法将在集合中插入一个文档。您也可以使用insertMany()。

该方法将在集合中插入多个文档的列表。

Document document = new Document()
    .append("firstName", "Upanshu")
    .append("lastName", "Chaudhary")
    .append("age", "22")
    .append("gender", "Male")
    .append("designation", "Software Consultant");
getCollection().insertOne(document);

从集合中读取数据 我们可以使用find()方法从集合中获取文档。

Document document = getCollection().find().first();
System.out.println(document.toJson());

更新数据 我们可以使用updateOne() 方法更新文档,该方法将更新一个文档。

getCollection().updateOne(
eq("firstName", "Upanshu"),
combine(set("age", "23"), set("lastName", "Singh")));
System.out.println("successful");

删除文件 要删除文档,我们可以使用deleteMany()方法。

getCollection()。deleteMany(eq(“ age”,“ 22”));

这些是您可以使用java在MongoDB上执行的基本CRUD操作。您可以自己定义项目结构,并为每个操作创建函数。


原文链接:http://codingdict.com