Java 在Mongodb中更新列表的最佳方法

Java 在Mongodb中更新列表的最佳方法,java,mongodb,jakarta-ee,nosql,Java,Mongodb,Jakarta Ee,Nosql,我在mongodb中有包含列表元素的文档。当我获取程序的输入时,我需要检索给定id的文档,从文档中获取列表元素,并检查该值是否已经存在。如果不存在,则需要更新特定文档中的列表并更新数据库 在MongoDB java驱动程序中,最好的方法是什么?我在想: 检索文档并获取列表元素 检查值。如果不存在,则将其添加到列表中 为该列表创建一个带有“$set”操作符的BasicDBObject(比如updatedList) 最后是collection.update(searchQuery,updatedL

我在mongodb中有包含列表元素的文档。当我获取程序的输入时,我需要检索给定id的文档,从文档中获取列表元素,并检查该值是否已经存在。如果不存在,则需要更新特定文档中的列表并更新数据库

在MongoDB java驱动程序中,最好的方法是什么?我在想:

  • 检索文档并获取列表元素
  • 检查值。如果不存在,则将其添加到列表中
  • 为该列表创建一个带有“$set”操作符的BasicDBObject(比如updatedList)
  • 最后是collection.update(searchQuery,updatedList)
考虑到性能,请让我知道最好的方法。我可以在这个场景中使用$addToSet吗


谢谢。

是的,您可以在此场景中使用
$addToSet


与获取文档、独自进行操作相比,我更愿意让mongo做这些事情(如果可能的话),就像在这个场景中一样。

如果您想在元素列表中进行编辑。您可以使用$each

这应该是一个注释。一旦你有足够的钱,你就可以