Jeśli chcę podłączyć bazę danych Mongo do schematu Graphql, czy potrzebuję ORM Mongoose, czy mogę po prostu wykonywać połączenia z surowymi sterownikami?Czy potrzebuję mangusty z Graphql?
7
A
Odpowiedz
6
Możesz zrobić jedno i drugie.
Jeśli masz już zdefiniowane modele mongoose, możesz ich użyć podczas pisania funkcji resolve
. Zobacz 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)
})
})
}
}
})
})
Jeśli nie masz modele Mongoose lub jeśli chcesz używać MongoDB natywnego sterownika, można to zrobić też. Poniżej znajduje się prosty przykład wykonania tego przy użyciu MongoDB Node.JS Driver.
resolve:() => {
return new Promise((resolve, reject) => {
db.collection('todos').find({}).toArray((err, todos) => {
if (err) reject(err)
else resolve(todos)
})
})
}
Jeśli masz modele Mongoose i chcesz wygenerować GraphQL schematu z nich może być zainteresowany w graffiti-mongoose, który generuje typy GraphQL i schematy z istniejących modeli Mongoose.
Powiązane problemy
- 1. Czy potrzebuję subskrypcji MSDN?
- 2. Czy lepiej oddzielić skomplikowany model mangusty?
- 3. Czy można uzyskać model z dokumentu w mangusty?
- 4. Autoryzacja użytkownika Relayjs Graphql
- 5. Zmienne mutacji GraphQL
- 6. Wywołanie mutacji GraphQL z innej mutacji?
- 7. Optymalizacja graphql bazie zapytań
- 8. Pole zabezpieczone schematem mangusty
- 9. GraphQL & Relay Filtering UI
- 10. Czy potrzebuję muteksu do czytania?
- 11. Łączenie dwóch schematów mangusty
- 12. Github graphQL OrderBy
- 13. Czy potrzebuję konta programisty Apple?
- 14. wstrzyknąć fasoli w DataFetcher z GraphQL
- 15. Abonowanie klasy za pomocą mangusty
- 16. Dokumentacja interfejsu API GraphQL API
- 17. Gotowość GraphQL do rozwoju .net
- 18. Jak używać mangusty w Meteor?
- 19. Zapytanie mangusty na zaludnionym polu
- 20. Jak używać mangusty Obietnica - mongo
- 21. Schemat mangusty dla aplikacji dla wielu użytkowników
- 22. Zwiększanie wartości za pomocą mangusty?
- 23. Zapisywanie obrazu za pomocą mangusty
- 24. Poszukuje mangusty "cześć świat" przykład
- 25. Jak dynamicznie tworzyć schemat mangusty?
- 26. Graphql Wiele wyliczeń w zapytaniu
- 27. Zagnieżdżone obiekty w schematach mangusty
- 28. Różnica mangusty findOneAndUpdate i aktualizacji
- 29. Nie można zaktualizować modelu mangusty
- 30. Wstawianie luzem w MongoDB za pomocą mangusty
Mongoose retruns obietnicę, jeśli nie przekazać oddzwonić. Możesz po prostu zwrócić 'TODO.find()' w funkcji rozstrzygania. – ocolot