Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

295
Visualizações
GraphQL Mongoose with MongoDB Atlas return empty array

I'm trying to connect MongoDB Atlas and mongoose but server always returns an empty array '[ ]'. When I load a mock data everything works (Mocked data and MongoDB Atlas have the same values) I have connect to MongoDB Atlas, but can't get some data.

Controller:

const express = require('express')
const { ApolloServer } = require('apollo-server-express')
const { createServer } = require('http')
const mongoose = require('mongoose')
const typeDefs = require('./schema')
const resolvers = require('./resolvers')

const app = express()
const server = new ApolloServer({
    typeDefs,
    resolvers,
    playground: {
        endpoint: 'http://localhost:3000/graphql',
        settings: {
            'editor.theme': 'light'
        }
    }
})
server.applyMiddleware({ app })

const httpServer = createServer(app)
server.installSubscriptionHandlers(httpServer)

mongoose
    .connect(`mongodb+srv://<username>:<password>@cluster0.brdqp.mongodb.net/${process.env.mongoDatabase}?retryWrites=true&w=majority`, { useNewUrlParser: true, useUnifiedTopology: true })
    .then((res) => {
        httpServer.listen(3000, () => {
            console.log('connected!')
        })
    })
    .catch((err) => {
        console.error('Error while connecting to MongoDB', err);
    })

Schema:

const { gql } = require('apollo-server-express')

const typeDefs = gql`
    type Todo {
        _id: String,
        title: String,
        description: String
        status: String
        date: String
    }

    type Query {
        todos: [Todo]
    }

`
module.exports = typeDefs

Resolvers:

const { Todo, Restaurant, Customer, Order } = require('./models')
const pubsub = require('./pubsub')

const resolvers = {
    Query: {
        todos(parent, args, context, info) {
            return Todo.find()
                .then(todo => {
                    return todo.map(r => ({ ...r._doc }))
                })
                .catch(err => {
                    console.error(err)
                })
        },
    },
}

module.exports = resolvers

MongoDB Atlas collection: (Database name : node, collection name in DB : todo)

_id : 5c9bdb721c9d440000345d62
title : "question"
desctiption : "test test"
status: done
date: 1

But the server always returns [ ] How???? Why&?

over 4 years ago · Santiago Trujillo
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda