更新Mongodb列表的最佳方法

时间:2013-12-07 18:29:23

标签: java mongodb java-ee nosql

我在mongodb中有列表元素的文档。当我得到一个程序的输入时,我需要检索给定id的文档,从文档中获取list元素并检查值是否已存在。如果不存在,则需要更新特定文档中的列表并更新db。

在MongoDB java驱动程序中执行此操作的最佳方法是什么?我在考虑:

  • 检索文档并获取列表元素
  • 检查值。如果不存在则将其添加到列表中
  • 为该列表创建一个带有“$ set”运算符的BasicDBObject(比如updatedList)
  • 最后,collection.update(searchQuery,updatedList);

请考虑表现,让我知道这样做的最佳方法。我可以在这种情况下使用$ addToSet吗?

感谢。

2 个答案:

答案 0 :(得分:1)

是的,您可以在此方案中使用$addToSet

比获取文档,自己进行操作,我更愿意让mongo做这些事情(如果可能的话),就像在这种情况下一样。

答案 1 :(得分:0)

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