mongoose-utils.js 711 B

123456789101112131415161718192021222324252627282930
  1. const mongoose = require('mongoose');
  2. const getMongoUri = () => {
  3. const { env } = process;
  4. return env.MONGOLAB_URI // for B.C.
  5. || env.MONGODB_URI // MONGOLAB changes their env name
  6. || env.MONGOHQ_URL
  7. || env.MONGO_URI
  8. || ((env.NODE_ENV === 'test') ? 'mongodb://mongo/growi_test' : 'mongodb://mongo/growi');
  9. };
  10. const getModelSafely = (modelName) => {
  11. if (mongoose.modelNames().includes(modelName)) {
  12. return mongoose.model(modelName);
  13. }
  14. return null;
  15. };
  16. const mongoOptions = {
  17. useNewUrlParser: true, // removes a deprecation warning when connecting
  18. useUnifiedTopology: true,
  19. useFindAndModify: false,
  20. };
  21. module.exports = {
  22. getMongoUri,
  23. getModelSafely,
  24. mongoOptions,
  25. };