如何在 amplify React 应用程序中创建动态查询
预期查询:
const posts = await DataStore.query(Post, c => c.or(
c => c.rating("gt", 4).status("eq", PostStatus.PUBLISHED)
));
“评级”和“状态”可能会根据用户的不同而改变。请帮助我创建动态数据存储查询。
最佳答案
假设您有一个对象,它定义哪些用户可以使用哪些过滤器查询。这里我假设用户可以有两种类型 typeA 和 typeB。
const queryTable = {
typeA: ['status', 'rating'],
typeB: ['active', 'status']
}
const posts = await DataStore.query(Post, c => c.or(
c => {
const operator = "eq" || "gt";
const value = 4 || "published";
queryTable[user.type].forEach(func, => {
c.[func](operator, value)
})
return c
}
));
您必须找到一种传递运算符和值的方法。
关于reactjs - 如何在 Amplify 数据存储中创建动态查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68345250/