Je kunt beide doen.
Als je al mangoestmodellen hebt gedefinieerd, kun je ze gebruiken tijdens het schrijven van resolve
functies. Zie het volgend voorbeeld
.
var QueryType = new GraphQLObjectType({
name: 'Query',
fields: () => ({
todos: {
type: new GraphQLList(TodoType),
resolve: () => {
return new Promise((resolve, reject) => {
TODO.find((err, todos) => {
if (err) reject(err)
else resolve(todos)
})
})
}
}
})
})
Als je geen mangoest-modellen hebt of als je de native driver van mongodb wilt gebruiken, dan kan dat ook. Hieronder volgt een eenvoudig voorbeeld van het gebruik van MongoDB Node.JS Driver .
resolve: () => {
return new Promise((resolve, reject) => {
db.collection('todos').find({}).toArray((err, todos) => {
if (err) reject(err)
else resolve(todos)
})
})
}
Als je mangoestmodellen hebt en je wilt er een GraphQL-schema van maken, dan ben je misschien geïnteresseerd in graffiti-mongoose , die GraphQL-typen en -schema's genereert op basis van bestaande mangoestmodellen.