我在 AWS Amplify 中有一个后端,用于存储我的数据。查询模型,然后直接从 Amplify Studio 的内容中删除模型的项目后,我仍然得到相同数量的项目。检查其内容后,我发现差异在于,对于现有项目,属性
_deleted
保留值 null
,而实际已删除的项目则保留值 undefined
。
这是为什么 ?有没有办法删除项目并使它们从数据存储中完全消失?
DataStore.query
始终对本地数据进行操作,而不是服务器数据 - 它依赖于自动管理的订阅来保持本地存储的一致性。
如果您希望删除的项目立即反映在您的用户界面中,我一直在使用下面链接的文档中的
DataStore.observeQuery()
进行实时数据订阅:
https://docs.amplify.aws/lib/datastore/real-time/q/platform/js/
当我以在线模式同步数据时,DataStore.observeQuery() 还会提供本地存储数据而不是服务器端数据。