我正在按照 Beanie ODM 文档的示例了解如何删除单个文档: https://beanie-odm.dev/tutorial/relations/#delete
将
link_rule=DeleteRules.DELETE_LINKS
传递给 delete
方法。
对于单个有效的文档,但是当我尝试使用这样的多个文档时:
await House.find().delete(link_rule=DeleteRules.DELETE_LINKS)
我收到以下错误:
TypeError: Collection.delete_many() got an unexpected keyword argument 'link_rule'
问题: 如何在使用
find
过滤后一次删除Beanie ODM中的多个文档?
感谢您的帮助!
不幸的是你不能这样做。
根据他们的文档https://beanie-odm.dev/tutorial/relations/#delete
带 fetch_links 参数的查找操作不能用于删除和更新方法的更改。
在这种情况下,您的选择是查询您的子项目,然后逐一删除或使用它们的 id 运行查找,然后使用删除进行链接。