आप दोनों कर सकते हैं।
यदि आपके पास पहले से परिभाषित नेवला मॉडल हैं, तो आप resolve
. लिखते समय उनका उपयोग कर सकते हैं कार्य। देखें निम्न उदाहरण
।
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)
})
})
}
}
})
})
यदि आपके पास नेवला मॉडल नहीं है या यदि आप मोंगोडब देशी ड्राइवर का उपयोग करना चाहते हैं, तो आप वह भी कर सकते हैं। MongoDB Node.JS Driver का उपयोग करके ऐसा करने का एक सरल उदाहरण निम्नलिखित है ।
resolve: () => {
return new Promise((resolve, reject) => {
db.collection('todos').find({}).toArray((err, todos) => {
if (err) reject(err)
else resolve(todos)
})
})
}
अगर आपके पास नेवले के मॉडल हैं और आप उनसे ग्राफक्यूएल स्कीमा बनाना चाहते हैं, तो आपको graffiti-mongoose में दिलचस्पी हो सकती है , जो मौजूदा नेवला मॉडल से GraphQL प्रकार और स्कीमा उत्पन्न करता है।