Comments (6)
My implenentation with express:
const MongoClient = mongodb.MongoClient;
let db;
try {
let client = await MongoClient.connect(config.db.url);
db = client.db(config.db.database);
} catch (error) {
console.error(error);
process.exit(1);
}
const app = express();
app.use('/graphql',
graphqlHTTP({
schema: Schema,
rootValue: {},
graphiql: true,
context: { db },
formatError: (err) => {
console.log(err);
return err;
}
})
);
app.listen(config.server.port);
from graphql-to-mongodb.
It is safe to pass the db instance even before /graphql?
from graphql-to-mongodb.
Yeah, my init function is async so I use await to make sure the MongoDB connection is established before moving on to initialization.
from graphql-to-mongodb.
How do you handle database connection errors to the client?
from graphql-to-mongodb.
I close the server since it wont work without, and let it restart via forever or pm2 until it reestablishes a connection.
} catch (error) {
console.error(error);
process.exit(1);
}
from graphql-to-mongodb.
There's no real right or wrong here; it's simply not within the package's scope to decide how you should do this. It also isn't necessary for the DB connection to reside in the context. Once in the resolve callback, you may acquire it however you prefer.
@ShynRou's implementation is a valid example.
Another example:
import connection from '...'
connection.then(db => {
app.use('/',
graphqlHTTP({
context: { db },
...
}));
}).catch(err =>{
...
});
from graphql-to-mongodb.
Related Issues (20)
- GraphQL schema generation failed when using Union type HOT 8
- Example usage of OR and AND? HOT 2
- How to use mutations? HOT 4
- Please please please create an example with Apollo. Please! HOT 1
- FilterType no load fields on models HOT 1
- Cannot read property 'resolve' of undefined.
- Typo in README.md with request for clarification HOT 1
- Does graphql-to-mongodb handle relationships? HOT 1
- How to use it with type-graphql HOT 1
- How to ingrate this with a .graphql schema file? HOT 2
- How to incorporate into NestJS? HOT 3
- Handling ObjectId in filter HOT 4
- Mongo DateTime fields. HOT 1
- Warning Field TradeId of type t_TradeType has a resolve function and no dependencies HOT 2
- build error mongoDbFilter.ts HOT 1
- Add exist | not exist to leaf types
- Is there a contains/like string filter? HOT 2
- Is this support for mongoose and schema definition language(SDL)
- Caching issue HOT 1
- New directive syntax example
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from graphql-to-mongodb.