Se voglio connettere un database mongo a schema graphql, ho bisogno di ORM mangusta o posso semplicemente fare chiamate di driver raw?Ho bisogno di mangimi con graphql?
7
A
risposta
6
Puoi fare entrambe le cose.
Se sono già definiti modelli di mangimi, è possibile utilizzarli durante la scrittura delle funzioni resolve
. Vedi lo following example.
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)
})
})
}
}
})
})
Se non si dispone di modelli mangusta o se si desidera utilizzare il driver MongoDB nativa, si può fare anche questo. Di seguito è un semplice esempio di farlo utilizzando MongoDB Node.JS Driver.
resolve:() => {
return new Promise((resolve, reject) => {
db.collection('todos').find({}).toArray((err, todos) => {
if (err) reject(err)
else resolve(todos)
})
})
}
Se si dispone di modelli mangusta e si desidera generare lo schema GraphQL da loro, si può essere interessati a graffiti-mongoose, che genera i tipi GraphQL e gli schemi da modelli mangusta esistenti.
Problemi correlati
- 1. Ho bisogno di aiuto con Java Generics
- 2. Perché ho bisogno di interfaccia?
- 3. Ho davvero bisogno di libgcc?
- 4. Ho bisogno __closure__
- 5. PayPal: pixel.gif - Ho bisogno?
- 6. Ho bisogno di aiuto con un crash di MKMapView
- 7. Ho bisogno di comunicare con più sistemi di attori remoti
- 8. Ho bisogno di un buon uploader JavaScript
- 9. Ho bisogno di aiuto su un algoritmo
- 10. Database locale, ho bisogno di alcuni esempi
- 11. Ho bisogno di aiuto nell'uso di PredicateBuilder
- 12. Ho bisogno di caratteri di sottolineatura separati
- 13. Ho davvero bisogno di un SDK OpenCL?
- 14. Di quale certificato SSL ho bisogno?
- 15. Ho bisogno di un abbonamento MSDN
- 16. Base Proibita. Ho bisogno di utente
- 17. Ho bisogno di un account sviluppatore Apple?
- 18. Ho ancora bisogno di utilizzare l'istruzione preparata
- 19. , ma ho ancora bisogno di intestazioni?
- 20. Ho bisogno di Ulteriori informazioni su HandleError
- 21. Ho bisogno di aiuto per impostare il passeggero con RVM
- 22. Ho bisogno di aiuto con il display YUV in OpenGl
- 23. Ho bisogno di assistenza con il threading/coda Python
- 24. Perché ho bisogno di un'interfaccia funzionale per funzionare con lambdas?
- 25. Perché ho bisogno di decorare il decoratore login_required con @method_decorator
- 26. ho bisogno di aiuto con l'host virtuale xampp
- 27. Ho bisogno di spiegazioni con il codice C# per principianti
- 28. Ho bisogno dell'algoritmo casuale con opzioni di pesatura in .net
- 29. Ho bisogno di aiuto per iniziare con Boost.Python
- 30. Ho bisogno di Expand/Collapse per RowDetailsTemplate
Mongoose esegue una promessa se non si supera una richiamata. Puoi semplicemente restituire 'TODO.find()' nella funzione di risoluzione. – ocolot