Die kurze Antwort ist Sie nicht. Ein GraphQL-Objekttyp wird nicht notwendigerweise 1: 1 einer Datenbanktabelle zugeordnet, sodass Sie ihn nicht so betrachten können. Wenn Sie eine Zählung aus einer Tabelle erhalten möchten, müssen Sie diese entweder als Feld zu Ihrem Ausgabetyp oder als eigenes Feld hinzufügen. Ich gehe davon aus, da Sie wollen herausfinden, wie groß ein Tisch ist, bevor Sie es abfragen möchten Sie einen ‚tableInfo‘ Typ Abfrage, die mit wie
const TableInfo = new GraphQLObjectType({
name: 'TableInfo',
fields: {
count: GraphQLInt
}
})
const Query = new GraphQLObjectType({
name: 'Query',
fields: {
tableInfo: {
type: TableInfo,
args: {
name: new GraphQLNonNull(GraphQLString)
},
resolve (source, args) {
return new Promise((resolve, reject) => {
connection.query(
'SELECT COUNT(*) from ' + args.name,
(error, results) => {
return error ? reject(error) : resolve(results)
}
)
})
}
}
}
})
const schema = new GraphQLSchema({
query: Query
})
dann anfordern
query Info {
tableInfo(name: "my_table") {
count
}
}
, was gesagt, diese aussehen würde ist kein gutes Muster, und wenn Sie erwarten, dass eine Abfrage eine große Menge an Ergebnissen zurückgibt, sollten Sie stattdessen Paginierung verwenden. Best Practices sind hier http://graphql.org/learn/pagination/