2016-05-15 24 views

cevap

6

Her ikisini de yapabilirsiniz.

Önceden tanımlı mongoose modelleriniz varsa, bunları resolve işlevlerini yazarken kullanabilirsiniz. following example'a bakın.

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) 
      }) 
     }) 
     } 
    } 
    }) 
}) 

Eğer firavunfaresi modellerine sahip yoksa veya mongodb yerli sürücüsünü kullanmak istiyorsanız, siz de yapabilirseniz. Aşağıda, MongoDB Node.JS Driver kullanılarak yapılan basit bir örnek verilmiştir. Eğer firavunfaresi modelleri var ve onlardan GraphQL şema oluşturmak istiyorsanız

resolve:() => { 
    return new Promise((resolve, reject) => { 
    db.collection('todos').find({}).toArray((err, todos) => { 
     if (err) reject(err) 
     else resolve(todos) 
    }) 
    }) 
} 

, mevcut firavunfaresi modellerinden GraphQL türleri ve şemaları üretir, graffiti-mongoose ilginizi çekebilir.

+1

Mongoose, geri arama yapmazsanız bir söz geri çeker. Çözüm işlevinde 'TODO.find()' i çevirebilirsiniz. – ocolot

İlgili konular