MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Preciso de mangusto com graphql?


Você pode fazer os dois.

Se você tem modelos de mangusto já definidos, você pode usá-los enquanto escreve resolve funções. Veja o exemplo a seguir .
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 você não tiver modelos de mongoose ou se quiser usar o driver nativo do mongodb, também poderá fazer isso. Veja a seguir um exemplo simples de como fazer isso usando o 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 você tem modelos de mangusto e deseja gerar o esquema GraphQL a partir deles, pode estar interessado em graffiti-mongoose , que gera tipos e esquemas do GraphQL a partir de modelos de mangusto existentes.