本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊 DocumentDB Java 编程指南
本综合指南详细介绍了如何使用 MongoDB 的 Java 驱动程序使用 Amazon DocumentDB,涵盖了数据库操作和管理的基本方面。
简介
本指南从连接开始,解释了如何使用 MongoDB Java 驱动程序建立与 DocumentDB 集群的安全连接。它详细介绍了连接字符串组件、 SSL/TLS 实现和各种连接选项,包括 IAM 身份验证和连接池,以及强大的错误处理策略。
在 CRUD(创建、读取、更新、删除)操作部分,该指南全面介绍了文档操作,演示了如何使用单一和批量操作创建、读取、更新和删除文档。它解释了过滤器、查询和各种操作选项的用法,同时强调了错误处理和实现重试逻辑以提高可靠性的最佳实践。该指南还广泛涵盖了索引管理,详细介绍了不同索引类型的创建和维护,包括单字段、复合索引、稀疏索引和文本索引。它解释了如何通过正确选择索引和使用explain()
函数来分析查询执行计划来优化查询性能。
最后一部分重点介绍使用 Amazon DocumentDB 的变更流进行事件驱动编程,演示如何在 Java 应用程序中实现实时数据变更监控。它涵盖了更改流游标的实现、用于持续操作的恢复令牌的处理以及用于历史数据处理的基于时间的操作。本指南中提供了实用的代码示例和最佳实践,这使其成为您使用 Amazon DocumentDB 构建强大的 Java 应用程序的宝贵资源。
先决条件
在开始之前,请确保您具备以下条件:
配置了文档数据库集群的 AWS 账户。请参阅这篇入门博客文章
,了解 DocumentDB 集群设置。 已安装 Java 开发套件 (JDK)(本指南中我们将使用 Amazon Corretto 21)。
Maven 用于依赖关系管理。
本指南的数据模型
本指南中的所有示例代码都假设连接到具有 “RestaurantsProgGuideData” 集合的 “” 测试数据库。本指南中的所有示例代码都适用于餐厅列表系统,以下是该系统中文档的样子示例:
{ "_id": "ab6ad8f119b5bca3efa2c7ae", "restaurantId": "REST-CRT9BL", "name": "Thai Curry Palace", "description": "Amazing Restaurant, must visit", "cuisine": "Thai", "address": { "street": "914 Park Street", "city": "Bryan", "state": "AL", "zipCode": "96865", "location": { "type": "Point", "coordinates": [-25.4619, 8.389] } }, "contact": { "phone": "(669) 915-9056 x6657" }, "rating": { "average": 3.4, "totalReviews": 275 }, "priceRange": "$", "menu": [{ "category": "Appetizers", "items": [{ "name": "Buffalo Chicken Wings", "price": 13.42 }] }], "features": [ "Private Dining" ], "isActive": false“ michelin”: {“ star”: 3, “ranking_years”: 4 } }
所有显示 CRUD、索引管理和事件驱动编程的代码示例都假设您有一个MongoClient
dbClient
、一个MongoDatabase
connectionDB
。MongoCollection
collection
注意
本指南中的所有代码示例均已使用 MongoDB Java 驱动程序版本 5.3.0 进行了测试。