Я пытаюсь создать приложение node.js, которое включает в себя как grapgql, так и mongodb для баз данных, хотя я новичок в графике Graphql.
Я использую GraphQLPlayground в браузере, хотя я пытаюсь создать соединение.Похоже, ошибка, с которой я столкнулся, связана с обещаниями, хотя я не знаком с этой концепцией.
const { GraphQLServer} = require('graphql-yoga');
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/librarydb')
const Book = mongoose.model("Book", {
author: String,
title: String,
available: Boolean
});
//initialization of grapgql schema
const typeDefs = `
type Query {
bookDetails(title: String): String!
}
type Book{
id: ID!
title: String!
available: Boolean!
}
type Mutation{
createBook(title: String!): Book
}`;
//reflects the structure of the schema
const resolvers = {
Query: {
bookDetails: (_, {title}) => `Book ${title || "not available"}`,
},
Mutation: {
createBook: async (_, { title }) => {
const book = new Book({ title, available: false});
await book.save();
return book;
}
}
};
const server = new GraphQLServer({typeDefs, resolvers});
mongoose.connection.once("open", function() {
server.start(() => console.log('Connection to server created successfully'));
});
Первоначально было установлено соединение, но когда я начал включать mongodb в свой код, я столкнулся с ошибкой ниже:
(node:480) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1):
MongoNetworkError: failed to connect to server [localhost:27017] on first
connect [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017]
(node:480) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.
js process with a non-zero exit code.
Я изучал похожие вопросы, но все они, похоже, являются вариантами ошибки, и ни один из них не решает эту конкретную проблему, спасибо заранее.