reactjs - 如何在 Amplify Datastore 中创建动态查询
问题描述
如何在放大反应应用程序中创建动态查询
预期查询:
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
}
));
您必须想办法如何传递运算符和值。
推荐阅读
- python - python (numpy) 可以处理大小为 150,000x50 * 50x850,000 的矩阵乘法吗?
- python - 条件达到时如何退出网络套接字并返回代码
- r - 安装 R 包时未定义的符号
- keras - Keras 中带有附加动态参数的自定义自适应损失函数
- google-sheets - Google表格中数据透视表总计中的平均值而不是总和
- javascript - 看不到字体大小
- docker - Docker swarm 从日志中发出奇怪的错误
- python - 使用 tempmute 命令时 Bot 取消静音成员
- bash - 无法从脚本或 docker 激活 conda
- python - 使用 OSMNX 的铁路长度