我通过ssh在CentOS上有远程服务器,我在端口27017上有一个test
mongo数据库。
我想在同一个端口或另一个端口上运行另一个数据库,以便同时在我的应用程序中使用两个数据库。
答案 0 :(得分:1)
您可以在一个mongod实例上运行多个数据库,如果您只需要另一个数据库,则无需启动多个实例。
你不能在同一个端口上运行多个进程,因此你不能在27017上运行另一个mongod。你可以在另一个端口上启动另一个实例,但是我不确定为什么你会想要除非你正试图创建一个复制集。
答案 1 :(得分:0)
我在一个连接上使用graphQL运行多个mongodb数据库。 这应该会给你一些想法:
<强>连接:强>
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);
});
});
});
};