У меня есть этот запрос, который проходит через мою таблицу BookModel
и находит все вопросы для этой конкретной book_id
:
query {
allBooks {
edges {
node {
id,
questionMeta {
edges {
node {
bookId
}
}
}
}
}
}
}
BookModel:
class BookModel(db.base):
__tablename__ = 'books_book'
id = Column(Integer, primary_key=True)
question_meta = relationship(QuestionMetaModel)
QuestionMetaModal:
class QuestionMetaModel(db.base):
__tablename__ = 'questions_questionmeta'
id = Column(Integer, primary_key=True)
question_id = Column(ForeignKey('questions_question.id'))
book_id = Column(ForeignKey('books_book.id'))
Результат запроса следующий (сжатый):
{
"data": {
"allBooks": {
"edges": [
{
"node": {
"id": "1",
"questionMeta": {
"edges": [
{
"node": {
"bookId": 1
}
},
... (1000+ more)
]
}
},
{ ... }
]
}
}
Проблема с этими данными заключается в том, что они возвращают большой массив в questionMeta
для каждого идентифицированного вопросас книгой.Что мне действительно нужно, так это длина массива или, скорее, количество вопросов.
Вопрос: Вместо того, чтобы возвращать большой массив, как мне вернуть только целочисленное значение?
Что я хочу (идеальный вывод):
{
"data": {
"allBooks": {
"edges": [
{
"node": {
"id": "1",
"questionCount": 1356
}
},
{
"node": {
"id": "2",
"questionCount": 649
}
}
]
}
}