Мне трудно понять, почему я продолжаю получать 0 результатов из запроса, который пытаюсь выполнить.В основном я пытаюсь вернуть только результаты в диапазоне дат.На данной таблице у меня есть createdAt
, который является скаляром DateTime.В основном это автоматически заполняется из призмы (или graphql, не уверен, какие из них устанавливает это).Таким образом, в любой таблице у меня есть createAt, который является строкой DateTime, представляющей DateTime, когда он был создан.
Вот моя схема для данной таблицы:
type Audit {
id: ID! @unique
user: User!
code: AuditCode!
createdAt: DateTime!
updatedAt: DateTime!
message: String
}
Я запросил эту таблицу ивернув некоторые результаты, я поделюсь ими здесь:
"getAuditLogsForUser": [
{
"id": "cjrgleyvtorqi0b67jnhod8ee",
"code": {
"action": "login"
},
"createdAt": "2019-01-28T17:14:30.047Z"
},
{
"id": "cjrgn99m9osjz0b67568u9415",
"code": {
"action": "adminLogin"
},
"createdAt": "2019-01-28T18:06:03.254Z"
},
{
"id": "cjrgnhoddosnv0b67kqefm0sb",
"code": {
"action": "adminLogin"
},
"createdAt": "2019-01-28T18:12:35.631Z"
},
{
"id": "cjrgnn6ufosqo0b67r2tlo1e2",
"code": {
"action": "login"
},
"createdAt": "2019-01-28T18:16:52.850Z"
},
{
"id": "cjrgq8wwdotwy0b67ydi6bg01",
"code": {
"action": "adminLogin"
},
"createdAt": "2019-01-28T19:29:45.616Z"
},
{
"id": "cjrgqaoreoty50b67ksd04s2h",
"code": {
"action": "adminLogin"
},
"createdAt": "2019-01-28T19:31:08.382Z"
}]
Вот мое getAuditLogsForUser
определение схемы
getAuditLogsForUser(userId: String!, before: DateTime, after: DateTime): [Audit!]!
Так что для тестирования я хотел бы получить все результаты вмежду последним и первым.
2019-01-28T19:31:08.382Z
последний 2019-01-28T17:14:30.047Z
первый.
Вот мой код, который будет вставлен в оператор запроса:
if (args.after && args.before) {
where['createdAt_lte'] = args.after;
where['createdAt_gte'] = args.before;
}
console.log(where)
return await context.db.query.audits({ where }, info);
На игровой площадке я выполняю этот оператор
getAuditLogsForUser(before: "2019-01-28T19:31:08.382Z" after: "2019-01-28T17:14:30.047Z") { id code { action } createdAt }
Итак, я хочу, чтобы все, что createAt_lte (меньше или равно), установленное в 2019-01-28T17:14:30.047Z
, и что createAt_gte (больше или равно), установленное в 2019-01-28T19:31:08.382Z
Однако я не получаю буквально никаких результатов, хотя мы ЗНАЕМ, что есть результаты.
Я попытался найти некоторую документацию по DateTime
скаляру на веб-сайте graphql.Я буквально не мог ничего найти на нем, но я вижу это в своей сгенерированной призменной схеме.Это просто определяется как Скаляр.Ничего особенного в этом нет.Я не думаю, что я определяю это в другом месте.Я использую Graphql-йогу, если это имеет какое-либо значение.
(созданный файл призмы)scalar DateTime
Мне интересно, действительно ли он воспринимает это как настоящее время?Должно быть, потому что она генерируется в виде строки ISO DateTime в UTC.
Просто трудно понять, в чем заключается моя проблема в данный момент, может быть, мне нужно определить ее каким-то другим способом?Любая помощь приветствуется