Я использую Amazon RDS с AppSync. Я создал преобразователь, который объединяет две таблицы, чтобы получить взаимно-однозначную связь между ними, и возвращает столбцы из обеих таблиц. Что я хотел бы сделать, так это иметь возможность вложить некоторые столбцы под ключ в полученный проанализированный объект JSON, оцениваемый с помощью $ util.rds.toJSONObject ().
Вот схема:
type Parent {
col1: String
col2: String
child: Child
}
type Child {
col3: String
col4: String
}
Вот решатель:
{
"version": "2018-05-29",
"statements": [
"SELECT parent.*, child.col3 AS `child.col3`, child.col4 AS `child.col4` FROM parent LEFT JOIN child ON parent.col1 = child.col3"
]
}
Я попытался назвать полученный столбец с помощью точечного синтаксиса, но $ util.rds.toJSONObject () не помещает col3
и col4
под ключ child
. Причина в том, что в противном случае Apollo не сможет кэшировать и анализировать объект.
Примечание. Точечный синтаксис нигде не задокументирован. Обычно некоторые ORM используют технику точечного синтаксиса для преобразования строк SQL в соответствующие вложенные объекты JSON.
$util.rds.toJsonObject()
Преобразует результат sql RDS в более удобный формат - объект JSON. Это не полноценный ORM. Вам нужно будет написать эту настраиваемую логику самостоятельно. Вы можете управлять выводом$util.rds.toJSONObject()
как списком карт со строковыми ключами и значениями объекта. Кроме того, какой ожидаемый тип вывода прикреплен к этому преобразователю? (Это список родителей?) - person Aaron_H   schedule 30.10.2019sequelize
для запроса и возврата данных. Работает действительно хорошо. Я могу легко запрашивать отношения в JSON. - person Muhammad Talha Akbar   schedule 30.10.2019