sql >> Databasteknik >  >> NoSQL >> MongoDB

Behöver jag mongoose med graphql?

Du kan göra båda.

Om du redan har definierat mungomodeller kan du använda dem medan du skriver resolve funktioner. Se följande exempel .

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

Om du inte har mongoose-modeller eller om du vill använda mongodb native driver kan du göra det också. Följande är ett enkelt exempel på hur du gör det med MongoDB Node.JS Driver .

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

Om du har mongoose-modeller och du vill generera GraphQL-schema från dem, kanske du är intresserad av graffiti-mongoose , som genererar GraphQL-typer och scheman från befintliga mongoose-modeller.




  1. Hur laddar man in 100 miljoner poster i MongoDB med Scala för prestandatestning?

  2. Server Discovery and Monitoring-motorn är utfasad

  3. Node.js till MongoDB:hitta efter datum

  4. Sorterar mongodb-klienten findOne() i noden