首页 > 解决方案 > 使用带有 arrayFilters 的 Spring Data for MongoDB 更新嵌套数组中的对象

问题描述

我有一个多层次的文档结构。例如,

db.my_f.insert(
	{
		id_1: "id_1",
		list_1: [
			{
				id_11: "id_11",
				id_12: "id_12",
				list_2: [
					{
						id_31: "id_31",
						id_32: "id_32"
					},
					{
						id_31: "id_311",
						id_32: "id_321"
					}
				]
			},
			{
				id_11: "lot",
				id_12: "pot"
			},
		]
	}
)

我想使用 Spring Data 编辑 List_2 中的元素。我相信可以使用这里提到的 arrayFilters https://jira.mongodb.org/browse/SERVER-831来完成。

问题是这个特性是在 com.mongodb.client.model.UpdateOptions 类中实现的,我不能在 org.springframework.data.mongodb.core.MongoOperations 中使用它。

如何使用 Spring Data 和可能的 arrayFilters 来实现从 List_2 更新元素的操作?

标签: spring-data-mongodb

解决方案


推荐阅读