从 DynamoDB 的查询中返回已删除的项目

Deleted items being returned in query from DynamoDB

我已经从 'Content' 部分的 AdminUI 中删除了项目,并且我还从 AWS 的 DynamoDB 中的 'items' 中删除了项目。这些项目既没有出现在 AdminUI 中的 'Content' 中也没有出现在 DynamoDB table 中,但是当我查询以下代码,然后 console.warn 返回的数组时,我看到已删除react-native warn 中的项目,我也在 Metro 控制台中看到它们,但在 Metro 控制台中它们的值为“_deleted”。如何永久删除数据库中已删除的项目?

      useEffect(() => {
        const getCurrentUser = async () => {
          const userId = await Auth.currentAuthenticatedUser();
    
          const dbUsers = await DataStore.query(User, uzer =>
            uzer.sub('eq', userId.attributes.sub),
          );
    
          console.warn(dbUsers);
    };

    getCurrentUser();
  }, []);

这是我在 Metro 控制台中看到的:

 WARN  [{"_deleted": undefined, "_lastChangedAt": undefined, "_version": undefined, "bio": "My bio", "gender": "", "id": "70cead42-6140-47ee-910b-ec0983cac170", "image": "https://notjustdev-dummy.s3.us-east-2.amazonaws.com/avatars/elon.png", "lookingFor": "FEMALE", "name": "Omerle", "sub": "68f43e08-42a1-46f8-a10e-39b92d80be88"}, {"_deleted": undefined, "_lastChangedAt": undefined, "_version": undefined, "bio": "This is my Bio", "gender": "", "id": "106fa724-5a9a-4be7-b369-3c4cfba18be0", "image": "https://notjustdev-dummy.s3.us-east-2.amazonaws.com/avatars/elon.png", "lookingFor": "FEMALE", "name": "Omer", "sub": "68f43e08-42a1-46f8-a10e-39b92d80be88"}]

使用 DataStore 时,它​​首先从 DynamoDB 查询您的数据,然后对于所有后续查询,它从您设备的本地缓存中检索数据。清除本地设备上的缓存可能会解决您的问题。此处有更多信息:https://docs.amplify.aws/lib/datastore/getting-started/q/platform/js/