elasticsearch - AppSync - 查询在日期范围内创建的所有项目?
问题描述
我正在尝试查询特定日期范围内的所有项目(具有 CreatedAt 和 UpdatedAt 的 AWS DateTime 字段)。例如,过去 48 小时。
例如,使用此架构:
type Note @model @searchable @auth(rules: [{ allow: owner }]) {
id: ID!
note: String
createdAt: AWSDateTime
我可以使用例如搜索日期:
query {
searchNotes(filter:{createdAt: { matchPhrasePrefix: "2018-12-27"}}) {
items{
id
title
createdAt
}
}
}
它返回所有与 UTC 时间匹配且带有该字符串前缀的注释。
从中,我必须使用 moment.diff() 或其他方法对自己进行排序。
我不确定是否有更好/更有效的方法来使用 AppSync 和 GraphQl 按日期和时间进行搜索/过滤?
谢谢你。
解决方案
您可以使用此查询过滤 2 AWSDateTime
:
query {
searchNotes(filter:{createdAt: { between: ["2018-12-27T00:00:00", "2019-01-27T00:00:00"]}}) {
items{
id
title
createdAt
}
}
}
推荐阅读
- python-3.x - 从 .py 转换为 .exe 但不显示输出图
- azure - 如何使用 Azure Logic App 从基于会话的队列中读取具有会话 ID 的消息
- android - Android:引起:java.lang.RuntimeException:java.io.IOException:无效常量类型:19 at 5
- swift - 是否可以在不重新构建/部署代码的情况下调试在设备上运行的 iOS 应用程序?
- mongodb - Helm:无法从值设置 mongodb root 密码
- python - 在另一个脚本中使用 argparse 运行 python 脚本
- swift - 基于 JSExport 的类未在 JSContext 中发布
- android - Android 的 Firebase Firestore 和 Places Api 之间的冲突
- c# - TFS 构建代理上出现错误 CS0579,但在本地运行构建时成功
- jsf - 通过对每一行的删除按钮删除 P:DATATABLE 行