Ich verwende mehrere mongodb-Datenbanken mit graphQL auf einer Verbindung. Dies sollte Ihnen eine Idee geben:
Verbindung:
import {MongoClient} from 'mongodb';
import assert from 'assert';
import graphqlHTTP from 'express-graphql';
const server_url = 'mongodb://localhost:27017/contest_server';
const client_url = 'mongodb://localhost:27017/contest_client';
// Establish connection to serverPool
module.exports = (app, PORT, ncSchema) => {
MongoClient.connect(server_url, (serverErr, serverPool) => {
assert.equal(null, serverErr);
MongoClient.connect(client_url, (clientErr, clientPool) => {
assert.equal(null, serverErr);
app.use('/graphql', graphqlHTTP({
schema: ncSchema,
context: { serverPool, clientPool },
graphiql: true
}));
app.listen(PORT,() => {
console.log(`Server is listening on port ${PORT}`)
});
serverPool.collection("votes").count((err, count) => {
console.log(count);
});
clientPool.collection("counts").count((err, count) => {
console.log(count);
});
});
});
};
mit robjwilkins zustimmen. Alles, was Sie tun müssen, ist, wenn Sie Ihre DB-Verbindung erhalten, verwenden Sie separate Datenbanken Namen, so dass Sie verschiedene 'Db' Verbindungen für verschiedene Datenbanken haben, die auf dem gleichen Port laufen. – JBone