сервер. js
const server = new ApolloServer({
introspection: true,
typeDefs: schema,
resolvers,
playground: true,
onHealthCheck: () => {
return new Promise((resolve, reject) => {
// Replace the `true` in this conditional with more specific checks!
if (true) {
resolve();
} else {
reject();
}
});
},
formatError: error => {
const message = error.message
.replace('SequelizeValidationError: ', '')
.replace('Validation error: ', '');
return {
...error,
message,
};
},
context: async ({ req, connection }) => {
if (connection) {
return {
models,
};
}
if (req) {
return {
models,
};
}
},
});
mongoose.connectDb().then( (mongoResult) => {
console.log('mongoDB Connected ', mongoResult.STATES[mongoResult.connection._readyState])
httpServer.listen({ port }, () => {
console.log(`Apollo Server on http://localhost:${port}/graphql`);
});
});
пн goose. js
const connectDb = () => {
return mongoose.connect(
config.mongo.main, // mongodb://localhost:27017/[mydatabaseName]
{ useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex : true },
);
};
модели / tempModel. js
import mongoose from 'mongoose';
const tempSchema = new mongoose.Schema({
id: {
type: String,
field : "_id",
},
})
const Temp = mongoose.model('Temp', tempSchema);
export default Temp;
models / index. js
import Temp from './tempModel';
const models = {
Temp
}
export default models;
Он использовался до тех пор, пока на одном хосте не появилось несколько баз данных. Однако, поскольку на одном хосте начали создаваться несколько баз данных, контекст был изменен. Нужна помощь
Я хочу, чтобы CRUD обычно работал в различных коллекциях в нескольких базах данных на одном хосте.