Просмотр исходного кода

update options for mongoose.connect

Yuki Takei 5 лет назад
Родитель
Сommit
7ccc62e590
6 измененных файлов с 17 добавлено и 8 удалено
  1. 2 0
      config/migrate.js
  2. 7 0
      src/lib/util/mongoose-utils.js
  3. 2 2
      src/server/console.js
  4. 2 2
      src/server/crowi/index.js
  5. 2 2
      src/test/global-setup.js
  6. 2 2
      src/test/setup.js

+ 2 - 0
config/migrate.js

@@ -21,6 +21,8 @@ const mongodb = {
   databaseName: url.pathname.substring(1), // omit heading slash
   databaseName: url.pathname.substring(1), // omit heading slash
   options: {
   options: {
     useNewUrlParser: true, // removes a deprecation warning when connecting
     useNewUrlParser: true, // removes a deprecation warning when connecting
+    useUnifiedTopology: true,
+    useFindAndModify: false,
   },
   },
 };
 };
 
 

+ 7 - 0
src/lib/util/mongoose-utils.js

@@ -17,7 +17,14 @@ const getModelSafely = (modelName) => {
   return null;
   return null;
 };
 };
 
 
+const mongoOptions = {
+  useNewUrlParser: true, // removes a deprecation warning when connecting
+  useUnifiedTopology: true,
+  useFindAndModify: false,
+};
+
 module.exports = {
 module.exports = {
   getMongoUri,
   getMongoUri,
   getModelSafely,
   getModelSafely,
+  mongoOptions,
 };
 };

+ 2 - 2
src/server/console.js

@@ -4,7 +4,7 @@ const repl = require('repl');
 const fs = require('fs');
 const fs = require('fs');
 const path = require('path');
 const path = require('path');
 const mongoose = require('mongoose');
 const mongoose = require('mongoose');
-const { getMongoUri } = require('@commons/util/mongoose-utils');
+const { getMongoUri, mongoOptions } = require('@commons/util/mongoose-utils');
 
 
 const models = require('./models');
 const models = require('./models');
 
 
@@ -34,7 +34,7 @@ fs.readFile(replHistoryPath, 'utf8', (err, data) => {
 replServer.context.mongoose = mongoose;
 replServer.context.mongoose = mongoose;
 replServer.context.models = models;
 replServer.context.models = models;
 
 
-mongoose.connect(getMongoUri(), { useNewUrlParser: true })
+mongoose.connect(getMongoUri(), mongoOptions)
   .then(() => {
   .then(() => {
     replServer.context.db = mongoose.connection.db;
     replServer.context.db = mongoose.connection.db;
   });
   });

+ 2 - 2
src/server/crowi/index.js

@@ -6,7 +6,7 @@ const pkg = require('@root/package.json');
 const InterceptorManager = require('@commons/service/interceptor-manager');
 const InterceptorManager = require('@commons/service/interceptor-manager');
 const CdnResourcesService = require('@commons/service/cdn-resources-service');
 const CdnResourcesService = require('@commons/service/cdn-resources-service');
 const Xss = require('@commons/service/xss');
 const Xss = require('@commons/service/xss');
-const { getMongoUri } = require('@commons/util/mongoose-utils');
+const { getMongoUri, mongoOptions } = require('@commons/util/mongoose-utils');
 
 
 const path = require('path');
 const path = require('path');
 
 
@@ -200,7 +200,7 @@ Crowi.prototype.setupDatabase = function() {
   // mongoUri = mongodb://user:password@host/dbname
   // mongoUri = mongodb://user:password@host/dbname
   const mongoUri = getMongoUri();
   const mongoUri = getMongoUri();
 
 
-  return mongoose.connect(mongoUri, { useNewUrlParser: true });
+  return mongoose.connect(mongoUri, mongoOptions);
 };
 };
 
 
 Crowi.prototype.setupSessionConfig = async function() {
 Crowi.prototype.setupSessionConfig = async function() {

+ 2 - 2
src/test/global-setup.js

@@ -7,12 +7,12 @@ if (process.env.NODE_ENV !== 'test') {
 
 
 const mongoose = require('mongoose');
 const mongoose = require('mongoose');
 
 
-const { getMongoUri } = require('../lib/util/mongoose-utils');
+const { getMongoUri, mongoOptions } = require('../lib/util/mongoose-utils');
 
 
 const { getInstance } = require('./setup-crowi');
 const { getInstance } = require('./setup-crowi');
 
 
 module.exports = async() => {
 module.exports = async() => {
-  await mongoose.connect(getMongoUri(), { useNewUrlParser: true });
+  await mongoose.connect(getMongoUri(), mongoOptions);
 
 
   // drop database
   // drop database
   await mongoose.connection.dropDatabase();
   await mongoose.connection.dropDatabase();

+ 2 - 2
src/test/setup.js

@@ -1,13 +1,13 @@
 const mongoose = require('mongoose');
 const mongoose = require('mongoose');
 
 
-const { getMongoUri } = require('@commons/util/mongoose-utils');
+const { getMongoUri, mongoOptions } = require('@commons/util/mongoose-utils');
 
 
 mongoose.Promise = global.Promise;
 mongoose.Promise = global.Promise;
 
 
 jest.setTimeout(30000); // default 5000
 jest.setTimeout(30000); // default 5000
 
 
 beforeAll(async(done) => {
 beforeAll(async(done) => {
-  await mongoose.connect(getMongoUri(), { useNewUrlParser: true });
+  await mongoose.connect(getMongoUri(), mongoOptions);
   done();
   done();
 });
 });