sql >> Databáze >  >> NoSQL >> MongoDB

Potřebuji mangoose s graphql?

Můžete udělat obojí.

Pokud již máte definované modely mongoose, můžete je použít při psaní resolve funkcí. Podívejte se na následující příklad .

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

Pokud nemáte modely mongoose nebo chcete použít nativní ovladač mongodb, můžete to udělat také. Následuje jednoduchý příklad, jak to udělat pomocí Ovladač MongoDB Node.JS .

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

Pokud máte modely mongoose a chcete z nich vygenerovat schéma GraphQL, možná vás bude zajímat graffiti-mongoose , který generuje typy a schémata GraphQL z existujících modelů mongoose.




  1. nelze se připojit k serveru 127.0.0.1 shell/mongo.js

  2. JavaScript nepřiřazuje prvek k objektu

  3. Meteor / ReactJS – problém s blikáním uživatelského rozhraní:vykreslování dvakrát před a po kontrole databáze

  4. Aktualizujte více polí v dokumentu MongoDB