MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Czy potrzebuję mangusty z graphql?

Możesz zrobić jedno i drugie.

Jeśli masz już zdefiniowane modele mangusty, możesz ich użyć podczas pisania resolve Funkcje. Zobacz poniższy przykład .

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

Jeśli nie masz modeli mongoose lub jeśli chcesz użyć natywnego sterownika mongodb, możesz to zrobić. Poniżej znajduje się prosty przykład wykonania tego przy użyciu sterownika MongoDB Node.JS .

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

Jeśli masz modele mangusty i chcesz z nich wygenerować schemat GraphQL, możesz zainteresować się graffiti-mongoose , który generuje typy i schematy GraphQL z istniejących modeli mangusty.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak uzyskać połączenie tylko do odczytu za pomocą pymongo?

  2. mongodb:konwertowanie identyfikatorów obiektów na BSON::ObjectId

  3. Przechowywanie obiektu Json w kluczu Mongoose String

  4. Obsługa transakcji w MongoDB

  5. Czy istnieje konwencja nazywania kolekcji w MongoDB?