使用 Java 在 MongoDB 中生成 ObjectId
在任何数据库中,我们都需要以一种可以在必要时轻松找到该数据的方式来组织数据。 为此,创建独特的身份非常重要。
在 MongoDB 中,有一个内置的唯一标识系统,使用名为 ObjectId 的字段。
本文将讨论 ObjectId 以及我们如何使用 Java 程序生成它。 为了使主题更简单,我们将看到一个带有解释的示例,以使主题更容易。
MongoDB 中的 ObjectId
ObjectId是MongoDB中通过字段_id来唯一标识一个文档的值。 当用户插入新文档时,系统会自动生成该字段。
但有时,我们必须根据自己的喜好创建自己的 ObjectId,为每个文档提供唯一标识。 如果您正在创建一个可以操作 MongoDB 数据库的 Java 程序,那么您可以查看下一节关于使用 Java 生成 ObjectId 的内容。
使用 Java 生成 ObjectId
在下面的示例中,我们将演示如何创建一个 Java 程序,该程序可以使用手动创建的 ObjectId 插入文档。 为此,您可以查看以下示例。
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import org.bson.types.ObjectId;
import com.mongodb.MongoClient;
public class MongoDBJava {
public static void main(String[] args) {
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
// Selecting the database
MongoDatabase mydb = mongoClient.getDatabase("Mydb");
// Generating an ObjectId before creating the document
ObjectId myid = new ObjectId();
System.out.println("Generated ID: "+ myid.get());
// Creating a new document object
Document mydoc = new Document();
// Appending data to the document
mydoc.append("_id", myid);
mydoc.append("Name", "Fred");
mydoc.append("Email", "Fred@gmail.com");
mydoc.append("Year", 2022);
//Inserting the created document into the collection
mydb.getCollection("mydata").insertOne(mydoc);
System.out.println("Inserted document successfully");
}
}
每行的目的都被注释掉了。 在示例中,我们首先创建了与 MongoDB 数据库的连接。
之后,我们使用方法 getDatabase()
选择数据库,然后生成一个名为 myid 的新 ObjectId。
然后我们创建了一个 Document 对象并使用 append()
方法将数据附加到它。 最后,我们只是使用 insertOne()
方法将文档插入到我们的集合中。
执行上述示例后,您将获得以下输出。
Generated ID: 6383c46f57dfc2483d89093c
Inserted document successfully
您会看到以下文档已添加到您的 MongoDB 集合中。
{ _id: ObjectId("6383c46f57dfc2483d89093c"),
Name: 'Fred',
Email: 'Fred@gmail.com',
Year: 2022 }
一些重要说明:
- 本文分享的程序是用Java编写的。 因此,请确保它已安装在您的系统中。
- 首先在您的 Java 程序中安装并包含 MongoDB jar 文件。 要下载 MongoDB jar,请使用此链接。
相关文章
在 MongoDB Shell 中列出所有数据库
发布时间:2023/05/11 浏览次数:180 分类:MongoDB
-
交互式 Mongo Shell 提供了多个用于获取数据的选项。 本文介绍了在 Mongo Shell 中列出数据库的几种不同方法。
MongoDB 中检查字段包含的字符串
发布时间:2023/05/11 浏览次数:1024 分类:MongoDB
-
这篇文章解决了如何在 MongoDB 中使用正则表达式来确定字段是否包含字符串。在 MongoDB 中使用正则表达式 正则表达式 (regex) 是定义搜索模式的文本字符串。
在 MongoDB 中 upsert 更新插入
发布时间:2023/05/11 浏览次数:214 分类:MongoDB
-
在 MongoDB 中,upsert 结合了更新和插入命令。 它可以在 update() 和 findAndModify() 操作中使用。MongoDB 中的 upsert 查询 upsert 采用单个布尔参数。
如何卸载 MongoDB
发布时间:2023/05/11 浏览次数:745 分类:MongoDB
-
要从您的计算机中卸载 MongoDB,您必须先删除 MongoDB 服务、数据库和日志文件。使用这篇 MongoDB 文章,您将能够从 Ubuntu Linux、Mac 和 Windows 卸载 MongoDB。 请务必保留数据备份,因为一旦卸载,便
在 MongoDB 中存储日期和时间
发布时间:2023/05/11 浏览次数:762 分类:MongoDB
-
本 MongoDB 教程解释了 Date() 对象是什么以及如何使用 Date() 方法对集合进行排序。 这也将帮助您找到在 MongoDB 中显示和存储日期/时间的最佳方法。
MongoDB 按 ID 查找
发布时间:2023/05/11 浏览次数:1856 分类:MongoDB
-
MongoDB 中的 find by Id() 函数用于获取与用户提供的 id 相匹配的文档。 如果找不到与指定 ID 匹配的文档,则返回空值。
检查 MongoDB 服务器是否正在运行
发布时间:2023/05/11 浏览次数:247 分类:MongoDB
-
这篇 MongoDB 教程将告诉您如何检查是否安装了 MongoDB 以及安装的 MongoDB 服务器的版本。 它在 Windows、UBUNTU 和 MAC 等不同的操作系统中实现。
MongoDB 中的分页
发布时间:2023/05/11 浏览次数:174 分类:MongoDB
-
这篇文章将介绍什么是 MongoDB 中的分页。 为什么在 MongoDB 中需要分页以及在 MongoDB 中完成分页的不同方法或方式是什么。
MongoDB 从查询开始
发布时间:2023/05/11 浏览次数:186 分类:MongoDB
-
在这篇 MongoDB 文章中,用户将学习如何使用 $regex 进行开始查询。 它为查询中的模式匹配字符串提供正则表达式功能。