我有mongodb数据库atlas中的文档(如下所示),其中包含spring引导应用程序。当我删除下面显示的文档所引用的文档(seller)时,seller reference字段也不会被删除,从而使seller字段引用不存在的文档。
_id: "Q8rWjRVCx4Avu3lvp0D6OuExac23SD"
editable: true
totalAmount: 0
amountPaid: 0
seller: DBRef(employees, BR1pKUGjZU8xdqIlaNvtO9VhqPqmi8, undefined)
_class: com.examle.Transaction
如何使用spring引导操作从文档中删除引用的字段(seller)。我认为可以使用$unset操作符,但是,这是mongodb特定的命令,而我想从spring引导应用程序执行此操作。这与处理原始数据类型的问题不同,而我的问题是关于引用的。
1条答案
按热度按时间az31mfrm1#
两种可能的解决方案:
即使删除了引用的卖方文档,也要保持文档的原样。mongodb清除指向不存在文档的引用。根据我的经验,在对文档执行操作(例如更新或查询操作)时会发生这种情况。此外,即使在清除引用之前查询数据库,返回值也是空的,而不是空值。
第二个选项是使用$unset操作符,如下所示。
注意使用seller id表示查询中引用的值。