MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Ho bisogno di mangusta con graphql?

Puoi fare entrambe le cose.

Se hai già definito dei modelli di mangusta, puoi usarli mentre scrivi resolve funzioni. Vedi il esempio seguente .

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 disponi di modelli mongoose o se desideri utilizzare il driver nativo mongodb, puoi farlo anche tu. Di seguito è riportato un semplice esempio di utilizzo del Driver MongoDB Node.JS .

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

Se disponi di modelli mongoose e desideri generare uno schema GraphQL da essi, potresti essere interessato a graffiti-mongoose , che genera tipi e schemi GraphQL da modelli mangusta esistenti.