Mongoose: {useUnifiedTopology: true} MongoDB рдХрдиреЗрдХреНрд╢рди рддреНрд░реБрдЯрд┐ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ: MongoTimeoutError: рд╕рд░реНрд╡рд░ рдЪрдпрди 30000 рдПрдордПрд╕ рдХреЗ рдмрд╛рдж рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 20 рд╕рд┐рддре░ 2019  ┬╖  78рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: Automattic/mongoose

рдХреНрдпрд╛ рдЖрдк рдХрд┐рд╕реА рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдмрдЧ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?

рдПрдХ рджреЛрд╖ред

рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ?

Mongoose 5.7.1 рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдирд┐рдореНрди рдЪреЗрддрд╛рд╡рдиреА рджрд┐рдЦрд╛рдИ рджреА:

(node:41563) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
    at parseFn (/Users/tschaffter/dev/PHCCollaborationPortal/node_modules/mongoose/node_modules/mongodb/lib/operations/connect.js:312:5)
    at parseConnectionString (/Users/tschaffter/dev/PHCCollaborationPortal/node_modules/mongoose/node_modules/mongodb/lib/core/uri_parser.js:628:3)
    at connect (/Users/tschaffter/dev/PHCCollaborationPortal/node_modules/mongoose/node_modules/mongodb/lib/operations/connect.js:266:3)
    at ConnectOperation.execute (/Users/tschaffter/dev/PHCCollaborationPortal/node_modules/mongoose/node_modules/mongodb/lib/operations/connect.js:191:5)
    at executeOperation (/Users/tschaffter/dev/PHCCollaborationPortal/node_modules/mongoose/node_modules/mongodb/lib/operations/execute_operation.js:83:26)
    at MongoClient.connect (/Users/tschaffter/dev/PHCCollaborationPortal/node_modules/mongoose/node_modules/mongodb/lib/mongo_client.js:216:10)
    at Promise (/Users/tschaffter/dev/PHCCollaborationPortal/node_modules/mongoose/lib/connection.js:632:12)
    at Promise._execute (/Users/tschaffter/dev/PHCCollaborationPortal/node_modules/bluebird/js/release/debuggability.js:313:9)
    at Promise._resolveFromExecutor (/Users/tschaffter/dev/PHCCollaborationPortal/node_modules/bluebird/js/release/promise.js:488:18)
    at new Promise (/Users/tschaffter/dev/PHCCollaborationPortal/node_modules/bluebird/js/release/promise.js:79:10)
    at NativeConnection.Connection.openUri (/Users/tschaffter/dev/PHCCollaborationPortal/node_modules/mongoose/lib/connection.js:629:19)
    at Mongoose.connect (/Users/tschaffter/dev/PHCCollaborationPortal/node_modules/mongoose/lib/index.js:327:15)
    at Object.connect (/Users/tschaffter/dev/PHCCollaborationPortal/server/app.js:17:44)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Module._compile (/Users/tschaffter/dev/PHCCollaborationPortal/node_modules/pirates/lib/index.js:99:24)
    at Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Object.newLoader [as .js] (/Users/tschaffter/dev/PHCCollaborationPortal/node_modules/pirates/lib/index.js:104:7)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (/Users/tschaffter/dev/PHCCollaborationPortal/server/index.js:12:28)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)

рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдиреЗрд╡рд▓рд╛ рдХреЙрдиреНрдлрд┐рдЧ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ useUnifiedTopology: true рдЬреЛрдбрд╝рд╛ рдЬреИрд╕рд╛ рдХрд┐ рд╕рдВрджреЗрд╢ рджреНрд╡рд╛рд░рд╛ рд╕реБрдЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдореИрдВ MongoDB рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реЗрдЯ рдпрд╛ рд╢рд╛рд░реНрдк рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдиреЗрд╡рд▓рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдФрд░ рдХрдиреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реВрдВ:

``` рдореЛрдВрдЧреЛ: {
рд╡рд┐рдХрд▓реНрдк: {
// https://mongoosejs.com/docs/deprecations.html
рдиреНрдпреВ рдпреВрдЖрд░рдПрд▓ рдкрд╛рд░реНрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рд╕рдЪ,
useFindAndModify: рдЭреВрдард╛,
рдпреВрдЬрдХреНрд░рд┐рдПрдЯрдЗрдВрдбреЗрдХреНрд╕: рд╕рдЪ,
рдпреВрдиреАрдлрд╛рдЗрдб рдЯреЛрдкреЛрд▓реЙрдЬреА: рд╕рдЪ,
рдкреБрди: рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ: 30,
рдкреБрди: рдХрдиреЗрдХреНрдЯрдЗрдВрдЯрд░рд╡рд▓: 500, // ms . рдореЗрдВ
}
},

and here is where I used this `mongo.options` object:

// MongoDB рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ
const mongooseConnectionPromise = mongoose.connect(config.mongo.uri, config.mongo.options);
mongoose.connection.on('error', err => {
рдХрдВрд╕реЛрд▓.рдПрд░рд░ ( MongoDB connection error: ${err} );
рдкреНрд░рдХреНрд░рд┐рдпрд╛ред рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВ (-1); // рдПрд╕реНрд▓рд┐рдВрдЯ-рдЕрдХреНрд╖рдо-рд▓рд╛рдЗрди рдиреЛ-рдкреНрд░реЛрд╕реЗрд╕-рдПрдХреНрдЬрд┐рдЯ
});

The warning is gone but the issue is that mongoose is now no longer able to connect:

MongoDB рдХрдиреЗрдХреНрд╢рди рддреНрд░реБрдЯрд┐: MongoTimeoutError: рейрежрежрежреж ms рдХреЗ рдмрд╛рдж рд╕рд░реНрд╡рд░ рдЪрдпрди рдХрд╛ рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛
[рдиреЛрдбрдореЛрди] рдРрдк рдХреНрд░реИрд╢ рд╣реЛ рдЧрдпрд╛ - рд╢реБрд░реВ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ ...

Here is how I run MongoDB using docker during development:

рдбреЙрдХрд░ рд░рди-рдкреА ${MONGO_PORT}:${MONGO_PORT} --name mongo -d mongo
```

рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдПрдХ рдмрдЧ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрджрдо рдкреНрд░рджрд╛рди рдХрд░реЗрдВред

рдКрдкрд░ рджреЗрдЦреЛ

рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ?

рдиреЗрд╡рд▓реЗ рдХреЗ рд╕реБрдЭрд╛рд╡ рдХреЗ рдЕрдиреБрд╕рд╛рд░ useUnifiedTopology: true рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдиреЗрд╡рд▓реЗ рдХреЛ рдкрджрд╛рд╡рдирддрд┐ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рд╣рдЯрд╛ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдареАрдХ рдЪрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ Node.js, Mongoose рдФрд░ MongoDB рдХреЗ рдХреМрди рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ?

рдиреЛрдб: v10.16.2
рдиреЗрд╡рд▓рд╛: 5.7.1 (рдирд╡реАрдирддрдо)
рдореЛрдВрдЧреЛрдбреАрдмреА: рдбреАрдмреА рд╕рдВрд╕реНрдХрд░рдг v4.2.0

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ:

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдирдорд╕реНрддреЗ! рдореЗрд░рд╛ рдирд╛рдо рдореИрдЯ рд╣реИ рдФрд░ рдореИрдВ MongoDB рдореЗрдВ рдбреНрд░рд╛рдЗрд╡рд░ рдЯреАрдо рдореЗрдВ рд╣реВрдБред рдЖрдк рд╕рднреА рдЬрд┐рди рд░реБрдХрд╛рд╡рдЯреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрд╕рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдмрд╣реБрдд рдЦреЗрдж рд╣реИ, рдФрд░ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЕрдкрдбреЗрдЯ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ:

рд╣рдо рдЕрдкрдиреЗ рдкреБрд░рд╛рдиреЗ рдЯреЛрдкреЛрд▓реЙрдЬреА рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдЪрд░рдгрдмрджреНрдз рддрд░реАрдХреЗ рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░реНрдЬрд┐рдХрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрди рдЧрдИ рд╣реИред рдЗрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдЪрд░рдгрдмрджреНрдз рддрд░реАрдХреЗ рд╕реЗ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рд╕реЗ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рдмреЛрдЭ рдХреЛ рдХрд╛рдлреА рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреА, рдФрд░ рд╣рдорд╛рд░реА рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рдФрд░ рдХреБрд╢рд▓ рдбреНрд░рд╛рдЗрд╡рд░ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, "рдПрдХреАрдХреГрдд рдЯреЛрдкреЛрд▓реЙрдЬреА" рдХреА рд╢реБрд░реБрдЖрдд рдХрд░рддреЗ рд╕рдордп рд╣рдордиреЗ рддреНрд░реБрдЯрд┐ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рдкреВрд▓ рдХреЗ рдкреБрдирд░реНрд▓реЗрдЦрди рдХрд╛ рднреА рдкрд░рд┐рдЪрдп рдирд╣реАрдВ рджрд┐рдпрд╛ред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдХрдиреЗрдХреНрд╢рди рдкреВрд▓ рд╣рдорд╛рд░реЗ рдЕрдиреБрдорд╛рди рд╕реЗ рдЕрдзрд┐рдХ рдЯреЛрдкреЛрд▓реЙрдЬреА рдкреНрд░рдХрд╛рд░реЛрдВ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рдерд╛ рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣рдордиреЗ рдХреБрдЫ рдкреНрд░рддрд┐рдЧрдорди рдХрд╛ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рд░реНрд╡рд░ рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рдЖрд╕рдкрд╛рд╕ред

рдЖрдЬ рд╕реБрдмрд╣ рдореИрдВрдиреЗ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ v3.3.4-rc0 рдХреЛ рдзрдХреНрдХрд╛ рджрд┐рдпрд╛ рдЬреЛ рдЖрдкрдХреЗ рд╕рд╛рдордиреЗ рдЖрдиреЗ рд╡рд╛рд▓реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдЖрдк рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЖрдЬрдорд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рд╣рдо рдмрд╣реБрдд рдЖрднрд╛рд░реА рд╣реЛрдВрдЧреЗред рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдореМрдЬреВрджрд╛ рдЯрд┐рдХрдЯреЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд░ NODE-2267 рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдЫреЛрдбрд╝реА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЕрдиреБрднрд╡ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреГрдкрдпрд╛ рд╡рд╣рд╛рдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдореБрджреНрджреЛрдВ рдХреЛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред

рд╕рднреА 78 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЖрдк рдХрд┐рд╕ рдбреЙрдХрд░ рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ? рд╕рд╛рде рд╣реА, рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ 'рд╕рд░реНрд╡рд░ рдЪрдпрди рдХрд╛ рд╕рдордп рд╕рдорд╛рдкреНрдд' рд╕рдВрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рд╣реИ?

рдЕрд░реЗ, рдмрд╕ рдпрд╣рд╛рдВ рдпрд╣ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдереАред

рдореИрдВ рд╕реНрд╡рдпрдВ рдбреЙрдХрд░ рдпрд╛ рдХрд┐рд╕реА рд╡реАрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рд╣рд░ рд╕рдордп рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдЬ рдореИрдВ рдЯрд╛рдЗрдордЖрдЙрдЯ (30k) рдХреЗ рдХрд╛рд░рдг рдЕрдкрдиреЗ рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рдерд╛, рдФрд░ useUnifiedTopology рдзреНрд╡рдЬ рдХреЛ рд╣рдЯрд╛рддреЗ рд╕рдордп рд╕рдорд╕реНрдпрд╛ рддреБрд░рдВрдд рд╣рд▓ рд╣реЛ рдЧрдИ рдереА .

рдореИрдВ рдПрдЯрд▓рд╕ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рдЬреБрдбрд╝ рд░рд╣рд╛ рд╣реВрдВред

рдиреЗрд╡рд▓рд╛ 5.7.1 . рд╣реИ
рдореЛрдВрдЧреЛрдбреАрдмреА 3.3.2 . рд╣реИ
рдиреЛрдб 12.9.1 . рд╣реИ

рдРрд╕реЗ рдЬреБрдбрд╝ рд░рд╣рд╛ рд╣реИ:

mongoose.createConnection(uri,
    {
        useCreateIndex: true,
        useNewUrlParser: true,
        useUnifiedTopology: true, // commented out currently
        dbName: db_name
    });

рдореЙрдбрд▓ рдЗрд╕ рддрд░рд╣ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:

import mongoose from 'mongoose';
import * as db_conns from '../db-connections'; // this is an object of connections generated via createConnection

// ... schema definition, for a model called 'article' from a collection called 'article'

// `site_content` is the name of a connection
export default db_conns.connections.site_content.model(`article`, schema, `article`);

рдлрд┐рд░ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

// ...
await query.model.find(query_expr).limit(30); // query_expr can change, however even an empty expression ({}) will cause the same issue
// ...

find рдХреЙрд▓ рд╣реИрдВрдЧ рд╣реЛ рдЬрд╛рддреА рд╣реИ рдФрд░ рдЯрд╛рдЗрдордЖрдЙрдЯ рддреНрд░реБрдЯрд┐ рдЬрд╛рд░реА рдХрд░рддреА рд╣реИред

@ vkarpov15 рдореИрдВ рдирд╡реАрдирддрдо mongo рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ MongoDB v4.2.0.1 рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
https://hub.docker.com/_/mongo

рдореБрдЭреЗ {useUnifiedTopology: true} рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж рднреА рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рддреНрд░реБрдЯрд┐ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рд╣реЛ рд░рд╣реА рд╣реИред рдЬрд░реВрд░ рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рд╣реИред рдореИрдВ рдирд╡реАрдирддрдо рдореЛрдВрдЧреЛ рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред

рдиреЗрд╡рд▓рд╛
рдХрдиреЗрдХреНрдЯ (рдкреНрд░рдХреНрд░рд┐рдпрд╛.env.MONGO_URI, {
рдпреВрдиреАрдлрд╛рдЗрдб рдЯреЛрдкреЛрд▓реЙрдЬреА: рд╕рдЪ,
рдиреНрдпреВ рдпреВрдЖрд░рдПрд▓ рдкрд╛рд░реНрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рд╕рдЪ,
})
.then(() => console.log('DB Connected!'))
рдХреИрдЪ (рдЧрд▓рддреА => {
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ (рддреНрд░реБрдЯрд┐, рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢);
});
рдЬрдм рдпрд╣ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдореБрдЭреЗ рдХрдВрд╕реЛрд▓ рдкрд░ рдорд┐рд▓рддрд╛ рд╣реИ:
[рдлрд╝рдВрдХреНрд╢рди: рддреНрд░реБрдЯрд┐] {рд╕реНрдЯреИрдХрдЯреНрд░реЗрд╕рд▓рд┐рдорд┐рдЯ: резрем, рддреИрдпрд╛рд░рд╕реНрдЯреИрдХрдЯреНрд░реЗрд╕: тАЛтАЛрдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд} рдХрдиреЗрдХреНрд╢рди реж рд╕реЗ acccluster-shard-00-01-xx47j.mongodbред рд╢реБрджреНрдз: 27017 рдмрдВрдж

рдХреЛрдИ рдЙрдкрд╛рдп? рдореИрдВ рднреА рдЕрдм рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ ...

рдореЗрд░реЗ рд╕рд╛рде рднреА рд╡рд╣реА рджрд┐рдХреНрдХрдд рд╣реИред рдореИрдВ рдПрдХ рдЬреВрдирд┐рдпрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╣реВрдВ рдФрд░ рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рд╣реИ рдЬрдм рдореИрдВ рдиреЛрдбрдЬ-рдПрдХреНрд╕рдкреНрд░реЗрд╕-рдЧреНрд░рд╛рдлрдХрд▓-рдореЛрдВрдЧреЛрдЬ-рдореЛрдВрдЧреЛрдбрдмрдПрдЯрд▓рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

(рдиреЛрдб: репрейрепреи) UnhandledPromiseRejectionWarning: MongoTimeoutError: рейрежрежрежреж ms рдХреЗ рдмрд╛рдж рд╕рд░реНрд╡рд░ рдЪрдпрди рдХрд╛ рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛
Timeout.setTimeout рдкрд░ (MyAppPathgraphql2node_modulesmongodblibcoresdamtopology.js:850:16)
рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдкрд░ (timers.js:436:11)
tryOnTimeout рдкрд░ (timers.js:300:5)
рд▓рд┐рд╕реНрдЯрдСрдирдЯрд╛рдЗрдордЖрдЙрдЯ рдкрд░ (timers.js:263:5)
Timer.processTimers рдкрд░ (timers.js:223:10)
(рдиреЛрдб: репрейрепреи) UnhandledPromiseRejectionWarning: рдЕрдирдЪрд╛рд╣реЗ рд╡рд╛рджрд╛ рдЕрд╕реНрд╡реАрдХреГрддрд┐ред рдпрд╣ рддреНрд░реБрдЯрд┐ рдпрд╛ рддреЛ рдХреИрдЪ рдмреНрд▓реЙрдХ рдХреЗ рдмрд┐рдирд╛ рдПрд╕рд┐рдВрдХреНрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдлреЗрдВрдХрдиреЗ рд╕реЗ рдпрд╛ рдХрд┐рд╕реА рдРрд╕реЗ рд╡рд╛рджреЗ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реБрдИ рдЬрд┐рд╕реЗ .catch() рдХреЗ рд╕рд╛рде рд╕рдВрднрд╛рд▓рд╛ рдирд╣реАрдВ рдЧрдпрд╛ рдерд╛ред (рдЕрд╕реНрд╡реАрдХреГрддрд┐ рдЖрдИрдбреА: 1)
(рдиреЛрдб: репрейрепреи) [рдбреАрдИрдкреАрежрежрезрео] рдмрд╣рд┐рд╖реНрдХрд░рдг рдЪреЗрддрд╛рд╡рдиреА: рд╣реИрдВрдбрд▓ рди рдХрд┐рдП рдЧрдП рд╡рд╛рджреЗ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рд╡рд╛рджрд╛ рдЕрд╕реНрд╡реАрдХрд░рдг рдЬреЛ рд╕рдВрднрд╛рд▓рд╛ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ, рдЧреИрд░-рд╢реВрдиреНрдп рдирд┐рдХрд╛рд╕ рдХреЛрдб рдХреЗ рд╕рд╛рде Node.js рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрдЧрд╛ред
рдЗрд╡реЗрдВрдЯ.рдЬреЗрдПрд╕:174
рдереНрд░реЛ рдПрд░; // рд╣реИрдВрдбрд▓ рди рдХрд┐рдпрд╛ рдЧрдпрд╛ 'рддреНрд░реБрдЯрд┐' рдШрдЯрдирд╛
^

рддреНрд░реБрдЯрд┐: ECONNRESET рдкрдврд╝реЗрдВ
TLSWrap.onStreamRead рдкрд░ (рдЖрдВрддрд░рд┐рдХ/stream_base_commons.js:111:27)
рдЙрддреНрд╕рд░реНрдЬрд┐рдд 'рддреНрд░реБрдЯрд┐' рдШрдЯрдирд╛:
рдЯреАрдПрд▓рдПрд╕рд╕реЙрдХреЗрдЯ рдкрд░ред(MyAppPathnode_modulesmongodblibcoreconnectionconnection.js:321:10)
Object.onceWrapper рдкрд░ (events.js:286:20)
TLSSocket.emit рдкрд░ (events.js:198:13)
рдкрд░ emitErrorNT (рдЖрдВрддрд░рд┐рдХ/рдзрд╛рд░рд╛рдУрдВ/рдирд╖реНрдЯ.рдЬреЗрдПрд╕:91:8)
рдкрд░ emitErrorAndCloseNT (рдЖрдВрддрд░рд┐рдХ/рдзрд╛рд░рд╛рдУрдВ/рдирд╖реНрдЯ.рдЬреЗрдПрд╕:59:3)
at process._tickCallback (рдЖрдВрддрд░рд┐рдХ/рдкреНрд░рдХреНрд░рд┐рдпрд╛/next_tick.js:63:19)

useUnifiedTopology рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣рдореЗрдВ рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рджрди рд╕рд░реНрд╡рд░ рдкрд░ рднреА рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИред

MongoTimeoutError: Server selection timed out after 30000 ms
    at Timeout.setTimeout [as _onTimeout] (/opt/app/node_modules/mongodb/lib/core/sdam/topology.js:850:16)
    at ontimeout (timers.js:498:11)
    at tryOnTimeout (timers.js:323:5)
    at Timer.listOnTimeout (timers.js:290:5)

рдореБрдЭреЗ рдЕрдм рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛
MaxListenersExceededWarning: рд╕рдВрднрд╛рд╡рд┐рдд EventEmitter рдореЗрдореЛрд░реА рд▓реАрдХ рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред 11 рдЯреЛрдкреЛрд▓реЙрдЬреА рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрд╢рди рдмрджрд▓реЗ рдЧрдП рд╢реНрд░реЛрддрд╛ рдЬреЛрдбрд╝реЗ рдЧрдПред

рдЬрдм рдореИрдВрдиреЗ рдЗрд╕ рдЪреЗрддрд╛рд╡рдиреА рдХреА рдЦреЛрдЬ рдХреА рддреЛ рдореИрдВ рдЗрд╕ mongoDB рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдЖрдпрд╛
https://jira.mongodb.org/browse/NODE-2123

рдпрд╣ рджреЛрдиреЛрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ
"рд╕рд░реНрд╡рд░ рдЪрдпрди рдХрд╛ рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛" рдХреЗ рд╕рд╛рде-рд╕рд╛рде "MaxListenersExceededWarning" рдФрд░ рджреЛрдиреЛрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдПрдХреАрдХреГрдд рдЯреЛрдкреЛрд▓реЙрдЬреА рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдХрд╛рд░рдг рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдмреНрд░реЗрдХрд┐рдВрдЧ рдмрджрд▓рд╛рд╡ рдерд╛ рдЬрд┐рд╕рдХрд╛ рдХрднреА рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдЪреВрдВрдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рд▓рд╛рдЗрд╡ рд╕рд░реНрд╡рд░ рдкрд░ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдореЗрд░реЗ рдкрд╛рд╕ {useUnifiedTopology: false} рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╕рдореБрджрд╛рдп рдХрд╛ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реБрдЭрд╛рд╡ рджреЗ рд╕рдХрддрд╛ рд╣реИред

рдореБрдЭреЗ рджреЛрдиреЛрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рднреА рдорд┐рд▓ рд░рд╣реА рд╣реИрдВ ( рд╕рд░реНрд╡рд░ рдЪрдпрди рейрежрежрежреж рдПрдордПрд╕ рдХреЗ рдмрд╛рдж рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рдФрд░ MaxListenersExceededWarning: рд╕рдВрднрд╛рд╡рд┐рдд EventEmitter рдореЗрдореЛрд░реА рд▓реАрдХ рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред резрез ) useUnifiedTopology рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ

рдореИрдВрдиреЗ рдЗрд╕реЗ рд░рд┐рдкреНрд░реЛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд░рд┐рдкреНрд░реЛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реВрдВред рдореИрдВрдиреЗ рдХреБрдЫ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА:

1) рдХреНрд╡реЗрд░реА рдХрд░рдиреЗ рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ рд╕рд░реНрд╡рд░ рдХреЛ рдорд╛рд░рдирд╛

2) рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд┐рдП рдЧрдП рдХрдиреЗрдХреНрд╢рди рд╕реЗ рдкреВрдЫрддрд╛рдЫ

3) рдХрд┐рд╕реА рдХреНрд╡реЗрд░реА рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛

рдореБрдЭреЗ рдЕрднреА рддрдХ рдЗрд╕ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЛ рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдирд╣реАрдВ рджреЗрдЦрдирд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рджреА рдЧрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

'use strict';

const mongoose = require('mongoose');

run().catch(err => console.log(err));

async function run() {
  mongoose.set('useUnifiedTopology', true);
  mongoose.set('useNewUrlParser', true);

  await mongoose.connect('mongodb://localhost:27017/test');

  const Model = mongoose.model('Test', new mongoose.Schema({ name: String }));

  console.log('Query...');
  await Model.findOne();
  console.log('Done');
}

рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░реЗрдВ рдХрд┐ рдЖрдк Mongoose рдХреЗ рдХрд┐рд╕ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ; рдЪрд╛рд╣реЗ рдЖрдк рдПрдХ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рд╕рд░реНрд╡рд░, рд░реЗрдкреНрд▓рд┐рдХрд╛ рд╕реЗрдЯ, рдпрд╛ рд╢рд╛рд░реНрдкреНрдб рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реЛрдВ; рдФрд░ рдХреНрдпрд╛ рдЖрдк рд╕реАрдзреЗ Mongoose рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп npm рдореЙрдбреНрдпреВрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ?

рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдиреЗрд╡рд▓реЗ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЦреБрдж рдореЛрдВрдЧреЛ рдХреЗ рд╕рд╛рде рдПрдХ рдореБрджреНрджрд╛ рд╣реИред

@ vkarpov15 , рдХреГрдкрдпрд╛ рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА рджреЗрдЦреЗрдВ, рдореИрдВрдиреЗ рд╡рд╣рд╛рдВ рдЕрдкрдиреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд┐рдпрд╛ред рдореИрдВ рд╕реАрдзреЗ рдиреЗрд╡рд▓рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред

@ vkarpov15 рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣рд░ 2-3 рджрд┐рдиреЛрдВ рдореЗрдВ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдкреНрд░рдХрдЯ рд╣реЛрддреА рд╣реИ рдЬрдм рд╕рд░реНрд╡рд░ рдЪрд▓ рд░рд╣рд╛ рд╣реЛрддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдореИрдВ рдЖрдкрдХреЛ рдХреЛрдб рдкреНрд░рджрд╛рди рдХрд░реВрдВ, рдЖрдкрдХреЛ рд▓рдЧрд╛рддрд╛рд░ рд╕рд░реНрд╡рд░ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреА рд╣реЛрдЧреАред

рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдорд┐рд▓рд╛ рд╣реИ?

рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдорд┐рд▓рд╛ рд╣реИ?

рдлрд┐рд▓рд╣рд╛рд▓ рдЖрдк рдЗрд╕ рдЭрдВрдбреЗ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореЛрдВрдЧреЛ рдЖрдкрдХреЛ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдЧрд╛ рдХрд┐ рдЗрд╕реЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдпрд╛ рдХреБрдЫ рдФрд░ рдЕрдХреНрд╖рдо рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рд▓реЗрдХрд┐рди рдлрд┐рд▓рд╣рд╛рд▓ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдорд┐рд▓рд╛ рд╣реИ?

рдлрд┐рд▓рд╣рд╛рд▓ рдЖрдк рдЗрд╕ рдЭрдВрдбреЗ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореЛрдВрдЧреЛ рдЖрдкрдХреЛ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдЧрд╛ рдХрд┐ рдЗрд╕реЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдпрд╛ рдХреБрдЫ рдФрд░ рдЕрдХреНрд╖рдо рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рд▓реЗрдХрд┐рди рдлрд┐рд▓рд╣рд╛рд▓ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдЬрдм рдореИрдВ рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рдпреВрдиреАрдлрд╛рдЗрдб рдЯреЛрдкреЛрд▓реЙрдЬреА: рд╕рддреНрдп, рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рд╣реИ рдФрд░ рдРрдк рдмрдВрдж рд╣реЛ рдЧрдпрд╛ рд╣реИ,
рдиреЗрд╡рд▓рд╛ рд╡реЗрд░рд┐рдпреЛрд╕рди: 5.7.4
Screenshot from 2019-10-10 11-07-11

рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ useUnifiedTopology рдЖрдЙрдЯ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рд╕реЗ рдореЗрд░реЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИред рдПрдХ (рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░) рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдлреИрд╢рди рдореЗрдВ рднреА рд╣реЛ рд░рд╣рд╛ рд╣реИред

@rpedroni рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИ, рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ ...

рдпрд╣рд╛рдВ рднреА рд╣реЛ рд░рд╣рд╛ рд╣реИред рд╣рдорд╛рд░рд╛ рдЙрддреНрдкрд╛рджрди рд╕рд░реНрд╡рд░ рдмреЛрд▓реЗ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЕрднреА рдХреЗ рд▓рд┐рдП рдпреВрдиреАрдлрд╛рдЗрдб рдЯреЛрдкреЛрд▓реЙрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛

MongoDB рдХрдиреЗрдХреНрд╢рди рд╡рд┐рдХрд▓реНрдк

var options = {
    useCreateIndex: true,
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true,
    promiseLibrary: global.Promise
};

рд╕рд░реНрд╡рд░ рд▓реЙрдЧ

MongoTimeoutError: Server selection timed out after 30000 ms 
Oct 16 12:56:31 app/web.1:     at Timeout.setTimeout (/app/node_modules/mongodb/lib/core/sdam/topology.js:850:16) 
Oct 16 12:56:31 app/web.1:     at Shim.applySegment (/app/node_modules/newrelic/lib/shim/shim.js:1424:20) 
Oct 16 12:56:31 app/web.1:     at Timeout.wrappedCallback [as _onTimeout] (/app/node_modules/newrelic/lib/shim/shim.js:1281:21) 
Oct 16 12:56:31 app/web.1:     at ontimeout (timers.js:436:11) 
Oct 16 12:56:31 app/web.1:     at tryOnTimeout (timers.js:300:5) 
Oct 16 12:56:31 app/web.1:     at listOnTimeout (timers.js:263:5) 
Oct 16 12:56:31 app/web.1:     at Timer.processTimers (timers.js:223:10) 

рд╣рдореЗрдВ рднреА рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИ рдФрд░ рд╣рдо рдиреЗрд╡рд▓реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╕реНрд╡рдпрдВ Node.js рдХреЗ рд▓рд┐рдП MongoDB рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИред рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдпрд╣рд╛рдВ https://jira.mongodb.org/browse/NODE-2249 . рдкрд░ рднреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг 3.3.3 рдЬрд┐рд╕реЗ рдЖрдЬ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЙрд╕реЗ MongoTimeoutError рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред рдмрдЧрдлрд┐рдХреНрд╕ рдХреЗ рдХрд╛рд░рдг рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рднреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред

рдпрд╣ рддреНрд░реБрдЯрд┐ рдбреНрд░рд╛рдЗрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдСрдкрд░реЗрд╢рди (рдпрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрдиреЗрдХреНрдЯ) рдХреА рдкрдарди рд╡рд░реАрдпрддрд╛ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реЛрдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИред рдпрд╣ рдХрдИ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреА рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдЕрдорд╛рдиреНрдп рд╣реЛрдирд╛ рдпрд╛ рдЖрдкрдХреЗ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдиреЛрдбреНрд╕ рдХрд╛ рдбрд╛рдЙрди рд╣реЛрдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рдпрджрд┐ рдЖрдк рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рдирд╡реАрдирддрдо v3.3.3 рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╣рдо MongoTimeoutError рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдХрд╛рд░рдг рдлрд╝реАрд▓реНрдб рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХреА рдФрд░ рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдореЗрдВ рд╣рдорд╛рд░реА рд╕рд╣рд╛рдпрддрд╛ рдХрд░реЗрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдПрдХ рдмрдЧ рдлрд┐рдХреНрд╕ рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрдиреЗрдХреНрдЯ рдкрд░ рдЯрд╛рдЗрдордЖрдЙрдЯ рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреА рдпрджрд┐ рдкреНрд░рддрд┐рдХреГрддрд┐рд╕реЗрдЯ рдХрд╛ рдХреЛрдИ рднреА рд╕рджрд╕реНрдп рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рдерд╛ред рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ, рдФрд░ рд╣рдореЗрдВ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред

https://jira.mongodb.org/browse/NODE-2249?focusedCommentId=2485028&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment -2485028 рд╕реЗ рдЙрджреНрдзрд░рд┐рдд

рдпрд╣рд╛рдВ рд╡рд╣реА, рд╡рд┐рдХрд╛рд╕ рдФрд░ рдЙрддреНрдкрд╛рджрди рджреЛрдиреЛрдВ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдореЛрдВрдЧреЛ рдПрдЯрд▓рд╕ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ :(

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдореЛрдВрдЧреЛрдбрдм рдПрдЯрд▓рд╕ рд╕реЗ рдЬреБрдбрд╝ рд░рд╣реА рд╣реИред рдЖрдо рддреМрд░ рдкрд░ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдПрдЯрд▓рд╕ рд╕рд░реНрд╡рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдРрд╕рд╛ рдХреБрдЫ рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЕрднреА рднреА рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реВрдВред рдиреАрдЪреЗ рджреА рдЧрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реЗрдЯ рд╡рд┐рдлрд▓рддрд╛ рдпрд╛ рдкреНрд░рд╛рдердорд┐рдХ рдХреЛ рдорд╛рд░рдиреЗ рдХреЗ рд╕рд╛рде рднреА рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреА рд╣реИред рдХреЛрдИ рд╕рд░реНрд╡рд░ рдЪрдпрди рдЯрд╛рдЗрдордЖрдЙрдЯ рддреНрд░реБрдЯрд┐рдпрд╛рдБ рдкреНрд░рд╛рдкреНрдд рди рдХрд░реЗрдВ:

'use strict';

const mongoose = require('mongoose');

run().catch(err => console.log(err));

async function run() {
  mongoose.set('useUnifiedTopology', true);
  mongoose.set('useNewUrlParser', true);

  await mongoose.connect('mongodb://localhost:27017,localhost:27018,localhost:27019/test?replicaSet=rs');

  const Model = mongoose.model('Test', new mongoose.Schema({ name: String }));


  while (true) {
    console.log(new Date(), 'Query...');
    await Model.findOne();
    await new Promise(resolve => setTimeout(resolve, 5000));
  }
} 

рдореЗрд░рд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЕрдиреБрдорд╛рди рд╣реИ @rvanmil рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рд╕рд╣реА рд╣реИред [email protected] (рдЬрд┐рд╕реЗ рдореИрдВ рдХреБрдЫ рдШрдВрдЯреЛрдВ рдореЗрдВ рднреЗрдЬ рджреВрдВрдЧрд╛) рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдмрдиреА рд░рд╣рддреА рд╣реИред

рд╕рд╛рде рд╣реА, рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рдПрдЯрд▓рд╕ рдореЗрдВ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ? рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЗрд╡рд▓ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рдЖрдк рдПрдЯрд▓рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реЛрдВ?

@ vkarpov15 рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рд░реЛрдХрдирд╛/рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдХреЗрд╡рд▓ M10+ рдЖрдХрд╛рд░реЛрдВ рдкрд░ рд╣реА рд╕рдВрднрд╡ рд╣реИред
рдореБрдЭреЗ рдпрд╣ рднреА рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдПрдЯрд▓рд╕ рдореБрджреНрджрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рдЕрднреА рддрдХ рдЕрджреНрдпрддрди рдХрд┐рдП рдЧрдП MongoDB рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдмрд╛рд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВ рдпрд╣рд╛рдВ рд╡рд╛рдкрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реВрдВрдЧрд╛ред

рдпреВрдиреАрдлрд╛рдЗрдб рдЯреЛрдкреЛрд▓реЙрдЬреА рдзреНрд╡рдЬ рдХреЗ рдмрд╛рд╡рдЬреВрдж рдореБрдЭреЗ рдЖрдЬ рднреА рдПрдЯрд▓рд╕ рдлреНрд░реА рдЯрд┐рдпрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рддреНрд░реБрдЯрд┐: MongoTimeoutError: Server selection timed out after 30000 ms

рдореИрдВ рдХрд┐рд╕реА рдЕрдиреНрдп MongoDB рд╕реЗрд╡рд╛ рдЬреИрд╕реЗ mLab рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдиреЗрдХреНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рдереА рдФрд░ рдпрд╣ рдХреБрдЫ рдмреЗрд╡рдХреВрдлреА рднрд░рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рд╡реИрд╕реЗ рднреА рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдпрд╣рд╛рдВ рднреА рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред

рдореИрдВрдиреЗ MongoTimeoutError рдореЗрдВ 'рдХрд╛рд░рдг' рдлрд╝реАрд▓реНрдб рдХреА рдЬрд╛рдБрдЪ рдХреА рдФрд░ рдХрд╣рд╛ рдХрд┐ 'MongoError: bad auth Authentication рд╡рд┐рдлрд▓ рд░рд╣рд╛ред'
рддрднреА рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ mongoDB рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛, рди рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ред
рдЕрдм рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк MongoDB рдПрдЯрд▓рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдЖрдИрдкреА рдкрддреЗ рдХреЛ рд╢реНрд╡реЗрддрд╕реВрдЪреА рдореЗрдВ рдбрд╛рд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдиреЗрдЯрд╡рд░реНрдХ рдПрдХреНрд╕реЗрд╕ рдкрд░ рдЬрд╛рдПрдВ, рд╡рд░реНрддрдорд╛рди рдЖрдИрдкреА рдкрддреЗ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдХрд╣реАрдВ рд╕реЗ рднреА рдПрдХреНрд╕реЗрд╕ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред

рдореИрдВ рдХреЗрд╡рд▓ рдПрдЯрд▓рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВрдиреЗ рд╢реНрд╡реЗрддрд╕реВрдЪреА рдореЗрдВ 0.0.0.0/0 IP рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ:

  • рдиреЗрд╡рд▓рд╛: 5.7.6
  • рдиреЛрдб: v10.16.3
  • рдПрдЯрд▓рд╕ рдлреНрд░реА рдЯрд┐рдпрд░

рд╕реНрдерд╛рдиреАрдп рдореЛрдВрдЧреЛрдбрдм рд╕рд░реНрд╡рд░ рдореЗрдВ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрд╛ред рд╡рд╣рд╛рдВ, рд╣рд░ рдХреНрд╡реЗрд░реА рдмрд╕ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд╛рдо рдХрд░рддреА рд╣реИред

рдЗрд╕рдХрд╛ рдкрд╣реБрдВрдЪ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ 0/0/0/0 рдкрд╣реБрдВрдЪ рд╣реИ рдФрд░ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ
рд╣рд░ рдмрд╛рд░ рд╕рд░реНрд╡рд░ рдПрдЯрд▓рд╕ рдкрд░ рдкреБрдирд░рд╛рд░рдВрдн рд╣реЛрддрд╛ рд╣реИред рдЖрдк рдорд▓реНрдЯреА рдиреЛрдб рдмрдирд╛рдХрд░ рд░рд┐рдкреНрд░реЛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдХреНрд▓рд╕реНрдЯрд░ (рдПрдо 10+) рдФрд░ рдЕрдиреБрд╕реВрдЪрд┐рдд рд░рдЦрд░рдЦрд╛рд╡ рд╕рдордп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ред рдлрд┐рд░ рд▓рдВрдмреА рджреМрдбрд╝реЗрдВ
рдЪрд▓ рд░рд╣реА рд╕реЗрд╡рд╛ рдФрд░ рдЗрд╕реЗ рдкреБрдирд░рд╛рд░рдВрдн рд╣реЛрдиреЗ рдкрд░ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред

рдмреБрдзрд╡рд╛рд░, 23 рдЕрдХреНрдЯреВрдмрд░, 2019, рд╕реБрдмрд╣ 7:42 рдмрдЬреЗ рдореЛрд╣рдореНрдордж рдордЬреАрджреБрд▓ рдЗрд╕реНрд▓рд╛рдо, <
рд╕реВрдЪрдирд╛рдПрдВ@github.com> рдиреЗ рд▓рд┐рдЦрд╛:

рдореИрдВ рдХреЗрд╡рд▓ рдПрдЯрд▓рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ
0.0.0.0/0 рдЖрдИрдкреА рд╢реНрд╡реЗрддрд╕реВрдЪреА рдореЗрдВ рд▓реЗрдХрд┐рди рдпрд╣ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ:

  • рдиреЗрд╡рд▓рд╛: 5.7.6
  • рдиреЛрдб: v10.16.3
  • рдПрдЯрд▓рд╕ рдлреНрд░реА рдЯрд┐рдпрд░

рд╕реНрдерд╛рдиреАрдп рдореЛрдВрдЧреЛрдбрдм рд╕рд░реНрд╡рд░ рдореЗрдВ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрд╛ред рд╡рд╣рд╛рдВ, рд╣рд░ рдкреНрд░рд╢реНрди рдмрд╕ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/Automattic/mongoose/issues/8180?email_source=notifications&email_token=AAUHUCYYQIQ5U42IBYT7CQTQQA2B7A5CNFSM4IYQ3ZB2YY3PNVWWK3TUL52HS4DFVREXNMVXHVWSW
рдпрд╛ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AAUHUCY5SNFGGCPTGW6GH5DQQA2B7ANCNFSM4IYQ3ZBQ
.

рдореЗрд░реЗ рдкрд╛рд╕ рднреА рд╡рд╣ рдореБрджреНрджрд╛ рд╣реБрдЖ рдХрд░рддрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЕрдм 0.0.0.0/0 рдФрд░ рдореЗрд░реЗ рдЖрдИрдкреА рдкрддреЗ рджреЛрдиреЛрдВ рдХреЛ рдПрдЯрд▓рд╕ рд╕реЗ рд╢реНрд╡реЗрддрд╕реВрдЪреА рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреЗ рдмрд╛рдж рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИред

~рдпрд╣ рдХреЗрд╡рд▓ MongoDB рдПрдЯрд▓рд╕ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред~

рдореБрдЭреЗ MongoDB рдПрдЯрд▓рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдореБрдЭреЗ рд╕рд╛рдорд╛рдиреНрдп рдореЛрдВрдЧреЛрдбреАрдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдореИрдВрдиреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ "MongoTimeoutError: рд╕рд░реНрд╡рд░ рдЪрдпрди 30000 рдХреЗ рдмрд╛рдж рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛" рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ docker-compose.
https://github.com/anzairyo0127/mongodb-connection-bug

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╢реБрд░реВ рдХрд░реЗрдВ

$ docker-compose up -d
$ docker-compose exec a mongo /tmp/conf/init.js
$ docker-compose exec node sh
$ npm i && npm run build
$ npm run start
> 0times
> waiting ....
> {_id: 5db27454b77b210040f2f84e, id: 1, text: 'hogehoge'}
> 1times
> waiting ....
> {_id: 5db27454b77b210040f2f84e, id: 1, text: 'hogehoge'}
> xtimes
> waiting ....
> {_id: 5db27454b77b210040f2f84e, id: 1, text: 'hogehoge'}
> ......



md5-cc5c53b3c0322ef988c85b63b4bb6c4e



$ docker-compose restart a b c



md5-788ff0ed4e46daf35b1b8594351b929f



> xtimes
> waiting ....
> (node: 4360) UnhandledPromiseRejectionWarning: MongoTimeoutError: Server selection timed out after 30000 ms
> at Timeout.setTimeout [as _onTimeout] (/var/work/node_modules/mongodb/lib/core/sdam/topology.js:878:9)
> at ontimeout (timers.js: 436: 11)
> at tryOnTimeout (timers.js: 300: 5)
> at listOnTimeout (timers.js: 263: 5)
> at Timer.processTimers (timers.js: 223: 10)
> (node: 4360) UnhandledPromiseRejectionWarning: Unhandled promise rejection.This error originated either by throwing inside of an> async function without a catch block, or by rejecting a promise which was not handled with .catch (). (rejection id: 1)
> (node: 4360) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that
> are not handled will terminate the Node.js process with a non-zero exit code.

@ anzairyo0127 рдХреНрдпрд╛ рдЖрдк рдирд╡реАрдирддрдо 3.3.3 mongodb рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рд╣реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@rvanmil рдореИрдВ рдЗрд╕реЗ ver3.3.3 рдореЗрдВ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рддреНрд░реБрдЯрд┐ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм mongoDB рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╕реЗ рдПрдХ (рд╢рд╛рдпрдж рдкреНрд░рд╛рдердорд┐рдХ рдЙрджрд╛рд╣рд░рдг) рдЗрд╕рдХреЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рдареАрдХ рдкрд╣рд▓реЗ рдпрд╛ рдиреАрдЪреЗ рдЬрд╛рдиреЗ рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ рдПрдХ рдХрдорд╛рдВрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ MongoDB рдПрдЯрд▓рд╕ рдкрд░ рдЕрдХреНрд╕рд░ рдРрд╕рд╛ рд╣реЛрдиреЗ рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ MongoDB рдПрдЯрд▓рд╕ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдкреНрд░рд╢реНрди рднреЗрдЬрддрд╛ рд╣реИред

рдХреЛрдИ рдЙрдкрд╛рдп? рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИ....

1 рдорд╣реАрдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рдФрд░ рдЕрднреА рддрдХ рд╣рд▓ рдирд╣реАрдВ рд╣реБрдИ рд╣реИ -_-

[email protected] рдкрд░ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╣рд▓ рд╣реЛ рдЧрдпрд╛ред

@octavioamu рдХреНрдпрд╛ рдЖрдк рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдЖрдк 4.2 рд╕реЗ рдкрд╣рд▓реЗ MongoDB рдбреЗрдЯрд╛рдмреЗрд╕ [рдХреНрд▓рд╕реНрдЯрд░] рдХрд╛ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЪрд▓рд╛ рд░рд╣реЗ рдереЗ? рдЖрдк рдиреЗрд╡рд▓реЗ рдФрд░ рдореЛрдВрдЧреЛрдбрдм рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ рдХреЗ рдХрд┐рд╕ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрдиреНрд╣реЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рд╣реИ? рдЖрдк рдХрд┐рддрдиреЗ рд╕рдордп рд╕реЗ 4.2 рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╣рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИ?

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдпрд╣ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╢рд╛рдпрдж рдмрд╣реБрдд рдкреБрд░рд╛рдирд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдореЛрдВрдЧреЛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред
рдиреЗрд╡рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг @ 5.7.7 . рдкрд░ рд╣реИ
рд╕рдВрджреЗрд╢ рдореЗрд░реЗ рд▓рд┐рдП рд╕реНрдерд╛рдпреА рдерд╛ рдФрд░ рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ [email protected] (рдмреНрд░реВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд) рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рддреЛ рд╕рдВрджреЗрд╢ рдмрдВрдж рд╣реЛ рдЧрдпрд╛ред

рдЕрдЧрд░ рдореИрдВ {useUnifiedTopology: false} рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд┐рдлрд▓рддрд╛ рдорд┐рд▓рддреА рд╣реИ

(node:19948) UnhandledPromiseRejectionWarning: MongoNetworkError: failed to connect to server [localhost:27017] on first connect [MongoError: Authentication failed.]

рдФрд░ рдЕрдЧрд░ рдореИрдВ {useUnifiedTopology: true} рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдЯрд╛рдЗрдордЖрдЙрдЯ рдорд┐рд▓рддрд╛ рд╣реИ

(node:20213) UnhandledPromiseRejectionWarning: MongoTimeoutError: Server selection timed out after 30000 ms

рдкрд╛рд╕рд╡рд░реНрдб рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рд╣реА рд╣реИред рдЗрд╕реЗ рд╕реНрдерд╛рдиреАрдп рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╕рдм рдХреБрдЫ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдФрд░ LST Node.js рдХреЗ рд╕рд╛рде рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рдмрд┐рдирд╛ рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рддреЛ рдЕрдЧрд░ рдореИрдВ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП const MONGODB_URI = "mongodb://localhost/fullstack" рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕рдорд╕реНрдпрд╛ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреА рд╣реИред рд╢рд╛рдпрдж рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИ? рдпрд╣рд╛рдБ MWE рд╣реИ рдЬреЛ рдореЗрд░реЗ рд╕реНрдерд╛рдиреАрдп рд╕реЗрдЯрдЕрдк рдкрд░ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкреБрдирд░реБрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИ:

const mongoose = require('mongoose')
// const url = 'mongodb://fullstack:fullstack@localhost/fullstack'
const url = 'mongodb://localhost/fullstack'
console.log('Connection url = ', url, 'connecting')
mongoose.connect(url, { useNewUrlParser: true, useUnifiedTopology: true })
console.log('Connected.')
mongoose.connection.close()

рдореИрдВрдиреЗ MongoDB рд╕реЗрдЯрдЕрдк рдХреЗ рд▓рд┐рдП рдирд╡реАрдирддрдо рдбреЙрдХрд░ рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред

рдпрд╣рд╛рдВ рднреА рд╣реЛ рд░рд╣рд╛ рд╣реИред рд╣рдорд╛рд░рд╛ рдЙрддреНрдкрд╛рджрди рд╕рд░реНрд╡рд░ рдмреЛрд▓реЗ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЕрднреА рдХреЗ рд▓рд┐рдП рдпреВрдиреАрдлрд╛рдЗрдб рдЯреЛрдкреЛрд▓реЙрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛

MongoDB рдХрдиреЗрдХреНрд╢рди рд╡рд┐рдХрд▓реНрдк

var options = {
    useCreateIndex: true,
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true,
    promiseLibrary: global.Promise
};

рд╕рд░реНрд╡рд░ рд▓реЙрдЧ

MongoTimeoutError: Server selection timed out after 30000 ms 
Oct 16 12:56:31 app/web.1:     at Timeout.setTimeout (/app/node_modules/mongodb/lib/core/sdam/topology.js:850:16) 
Oct 16 12:56:31 app/web.1:     at Shim.applySegment (/app/node_modules/newrelic/lib/shim/shim.js:1424:20) 
Oct 16 12:56:31 app/web.1:     at Timeout.wrappedCallback [as _onTimeout] (/app/node_modules/newrelic/lib/shim/shim.js:1281:21) 
Oct 16 12:56:31 app/web.1:     at ontimeout (timers.js:436:11) 
Oct 16 12:56:31 app/web.1:     at tryOnTimeout (timers.js:300:5) 
Oct 16 12:56:31 app/web.1:     at listOnTimeout (timers.js:263:5) 
Oct 16 12:56:31 app/web.1:     at Timer.processTimers (timers.js:223:10) 

рдпрд╣рд╛рдВ рднреА рд╣реЛ рд░рд╣рд╛ рд╣реИред рд╣рдорд╛рд░рд╛ рдЙрддреНрдкрд╛рджрди рд╕рд░реНрд╡рд░ рдмреЛрд▓реЗ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЕрднреА рдХреЗ рд▓рд┐рдП рдпреВрдиреАрдлрд╛рдЗрдб рдЯреЛрдкреЛрд▓реЙрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛

MongoDB рдХрдиреЗрдХреНрд╢рди рд╡рд┐рдХрд▓реНрдк

var options = {
    useCreateIndex: true,
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true,
    promiseLibrary: global.Promise
};

рд╕рд░реНрд╡рд░ рд▓реЙрдЧ

MongoTimeoutError: Server selection timed out after 30000 ms 
Oct 16 12:56:31 app/web.1:     at Timeout.setTimeout (/app/node_modules/mongodb/lib/core/sdam/topology.js:850:16) 
Oct 16 12:56:31 app/web.1:     at Shim.applySegment (/app/node_modules/newrelic/lib/shim/shim.js:1424:20) 
Oct 16 12:56:31 app/web.1:     at Timeout.wrappedCallback [as _onTimeout] (/app/node_modules/newrelic/lib/shim/shim.js:1281:21) 
Oct 16 12:56:31 app/web.1:     at ontimeout (timers.js:436:11) 
Oct 16 12:56:31 app/web.1:     at tryOnTimeout (timers.js:300:5) 
Oct 16 12:56:31 app/web.1:     at listOnTimeout (timers.js:263:5) 
Oct 16 12:56:31 app/web.1:     at Timer.processTimers (timers.js:223:10) 

рдореИрдВ рдореЛрдВрдЧреЛ рдбреАрдмреА рдПрдЯрд▓рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рд╣рдо рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

dub-tools-jobs: orders - error MongoTimeoutError: Server selection timed out after 30000 ms 
Oct 29 13:16:30 app/worker.1:      at Timeout.setTimeout [as _onTimeout] (/app/node_modules/mongoose/node_modules/mongodb/lib/core/sdam/topology.js:850:16) 
Oct 29 13:16:30 app/worker.1:     at ontimeout (timers.js:436:11) 
Oct 29 13:16:30 app/worker.1:     at tryOnTimeout (timers.js:300:5) 
Oct 29 13:16:30 app/worker.1:     at listOnTimeout (timers.js:263:5) 
Oct 29 13:16:30 app/worker.1:     at Timer.processTimers (timers.js:223:10) +2m

рдпрд╣ рд╕рдм рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд╕рд╛рде рд╣реБрдЖ рдпреВрдиреАрдлрд╛рдЗрдб рдЯреЛрдкреЛрд▓реЙрдЬреА рдЬреИрд╕рд╛ рдХрд┐ рдПрдХ рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

// mongodb connections
var options = {
    useCreateIndex: true,
    useNewUrlParser: true,
    useFindAndModify: false,
    // useUnifiedTopology: true,      
    promiseLibrary: global.Promise
};

mongoose рдФрд░ mongoDB рдПрдЯрд▓рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╡рд┐рдХрд▓реНрдк рдЗрд╕ рддрд░рд╣ рд╣реИрдВ:
mongoose.connect(DATABASE_URL, { useNewUrlParser: true, useUnifiedTopology: true})

рдЗрд╕рдХреЗ рдмрд╛рдж, рдпрджрд┐ рдЯрд╛рдЗрдордЖрдЙрдЯ рдЖрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ mongoDB рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдПрдХреНрд╕реЗрд╕ рдкрд░ рдЬрд╛рдХрд░ рдЕрдкрдиреЗ рдЖрдИрдкреА рдкрддреЗ рдХреЛ mongoDB рд╕реЗ рд╢реНрд╡реЗрддрд╕реВрдЪреА рдореЗрдВ рдбрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛

рджреВрд╕рд░реЛрдВ рдХреА рддрд░рд╣, рдпрд╣ рддреНрд░реБрдЯрд┐ рд╣рд░ рдХреБрдЫ рджрд┐рдиреЛрдВ рдореЗрдВ рдореЗрд░реЗ рдРрдк рдХреЛ рдХреНрд░реИрд╢ рдХрд░ рджреЗрддреА рд╣реИ рдФрд░ рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЖрдИрдкреА рдкрддреЗ рдХреА рдкрд╣реБрдВрдЪ рдпрд╛ рд╢реНрд╡реЗрддрд╕реВрдЪреА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИред

рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ:

  • рдиреЗрд╡рд▓рд╛: 5.7.6
  • рдиреЛрдб: v10.16.3
  • рдПрдЯрд▓рд╕ рдлреНрд░реА рдЯрд┐рдпрд░

рдЕрднреА рдХреЗ рд▓рд┐рдП, рдореИрдВ useUnifiedTopology: true рдкрд░ рднреА рдЯрд┐рдкреНрдкрдгреА рдХрд░реВрдВрдЧрд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдЯрд▓рд╕ рдпрд╛ рдореЛрдВрдЧреЛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЕрдиреНрдп рдиреЗ рдХрд╣рд╛ рд╣реИред

рдпрд╣ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реЗрдЯ MongoDB рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ MongoDB рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рдпрд╣рд╛рдВ рд╕рдорд╛рдзрд╛рди рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ

https://jira.mongodb.org/browse/NODE-2267

@ vkarpov15 рд╢рд╛рдпрдж рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдиреЗрд╡рд▓рд╛ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред

рдЬрдм рдЖрдкрдХрд╛ рд╡рд░реНрддрдорд╛рди рдЖрдИрдкреА рдкрддрд╛ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдХрдиреЗрдХреНрд╢рди рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдЗрд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдПрдХреНрд╕реЗрд╕ рдЖрдИрдкреА рд╢реНрд╡реЗрддрд╕реВрдЪреА рдореЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╡рд░реНрддрдорд╛рди рдЖрдИрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

рдирдорд╕реНрддреЗ! рдореЗрд░рд╛ рдирд╛рдо рдореИрдЯ рд╣реИ рдФрд░ рдореИрдВ MongoDB рдореЗрдВ рдбреНрд░рд╛рдЗрд╡рд░ рдЯреАрдо рдореЗрдВ рд╣реВрдБред рдЖрдк рд╕рднреА рдЬрд┐рди рд░реБрдХрд╛рд╡рдЯреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрд╕рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдмрд╣реБрдд рдЦреЗрдж рд╣реИ, рдФрд░ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЕрдкрдбреЗрдЯ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ:

рд╣рдо рдЕрдкрдиреЗ рдкреБрд░рд╛рдиреЗ рдЯреЛрдкреЛрд▓реЙрдЬреА рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдЪрд░рдгрдмрджреНрдз рддрд░реАрдХреЗ рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░реНрдЬрд┐рдХрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрди рдЧрдИ рд╣реИред рдЗрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдЪрд░рдгрдмрджреНрдз рддрд░реАрдХреЗ рд╕реЗ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рд╕реЗ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рдмреЛрдЭ рдХреЛ рдХрд╛рдлреА рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреА, рдФрд░ рд╣рдорд╛рд░реА рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рдФрд░ рдХреБрд╢рд▓ рдбреНрд░рд╛рдЗрд╡рд░ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, "рдПрдХреАрдХреГрдд рдЯреЛрдкреЛрд▓реЙрдЬреА" рдХреА рд╢реБрд░реБрдЖрдд рдХрд░рддреЗ рд╕рдордп рд╣рдордиреЗ рддреНрд░реБрдЯрд┐ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рдкреВрд▓ рдХреЗ рдкреБрдирд░реНрд▓реЗрдЦрди рдХрд╛ рднреА рдкрд░рд┐рдЪрдп рдирд╣реАрдВ рджрд┐рдпрд╛ред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдХрдиреЗрдХреНрд╢рди рдкреВрд▓ рд╣рдорд╛рд░реЗ рдЕрдиреБрдорд╛рди рд╕реЗ рдЕрдзрд┐рдХ рдЯреЛрдкреЛрд▓реЙрдЬреА рдкреНрд░рдХрд╛рд░реЛрдВ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рдерд╛ рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣рдордиреЗ рдХреБрдЫ рдкреНрд░рддрд┐рдЧрдорди рдХрд╛ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рд░реНрд╡рд░ рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рдЖрд╕рдкрд╛рд╕ред

рдЖрдЬ рд╕реБрдмрд╣ рдореИрдВрдиреЗ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ v3.3.4-rc0 рдХреЛ рдзрдХреНрдХрд╛ рджрд┐рдпрд╛ рдЬреЛ рдЖрдкрдХреЗ рд╕рд╛рдордиреЗ рдЖрдиреЗ рд╡рд╛рд▓реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдЖрдк рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЖрдЬрдорд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рд╣рдо рдмрд╣реБрдд рдЖрднрд╛рд░реА рд╣реЛрдВрдЧреЗред рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдореМрдЬреВрджрд╛ рдЯрд┐рдХрдЯреЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд░ NODE-2267 рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдЫреЛрдбрд╝реА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЕрдиреБрднрд╡ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреГрдкрдпрд╛ рд╡рд╣рд╛рдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдореБрджреНрджреЛрдВ рдХреЛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред

рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ 3.3.4-рдЖрд░рд╕реА0 рдиреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдореИрдВ рдмрд╛рдж рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдкрд░реАрдХреНрд╖рд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд╛рди рдХрд░реВрдВрдЧрд╛ред

рдЬрдм рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдореЛрдВрдЧреЛрдбрдм рд╕рдВрд╕реНрдХрд░рдг рдХреЛ package.json to . рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛
"рдореЛрдВрдЧреЛрдбрдм": "рей.рей.рек-рдЖрд░рд╕реАреж",
рдореБрдЭреЗ рд╣рдореЗрд╢рд╛ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ (рдпрд╣ рддреНрд░реБрдЯрд┐ рддрдм рдирд╣реАрдВ рд╣реЛрддреА рдЬрдм рдореЛрдВрдЧреЛрдбрдм рд╕рдВрд╕реНрдХрд░рдг 3.3.3 рдкрд░ рд╣реЛрддрд╛ рд╣реИ):

==========================================
рдПрдирдкреАрдПрдо рдИрдЖрд░рдЖрд░! рдкрде /tmp/app/node_modules/npm/node_modules/abbrev
рдПрдирдкреАрдПрдо рдИрдЖрд░рдЖрд░! рдХреЛрдб ENOENT
рдПрдирдкреАрдПрдо рдИрдЖрд░рдЖрд░! рддреНрд░реБрдЯрд┐ -2
рдПрдирдкреАрдПрдо рдИрдЖрд░рдЖрд░! рд╕рд┐рд╕реНрдХрд▓ рдХрд╛ рдирд╛рдо рдмрджрд▓реЗрдВ
рдПрдирдкреАрдПрдо рдИрдЖрд░рдЖрд░! Enoent ENOENT: рдРрд╕реА рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╣реАрдВ, рдирд╛рдо рдмрджрд▓реЗрдВ '/tmp/app/node_modules/npm/node_modules/abbrev' -> '/tmp/app/node_modules/npm/node_modules/.abbrev.DELETE'
рдПрдирдкреАрдПрдо рдИрдЖрд░рдЖрд░! enoent рдпрд╣ npm рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдЬреЛ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рдвреВрдВрдв рдкрд╛ рд░рд╣рд╛ рд╣реИред
рдПрдирдкреАрдПрдо рдИрдЖрд░рдЖрд░! рдПрдиреЛрдПрдВрдЯ
рдПрдирдкреАрдПрдо рдИрдЖрд░рдЖрд░! рдЗрд╕ рд░рди рдХрд╛ рдкреВрд░рд╛ рд▓реЙрдЧ рдЗрд╕рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
рдПрдирдкреАрдПрдо рдИрдЖрд░рдЖрд░! /home/vcap/.npm/_logs/2019-11-06T17_19_55_661Z-debug.log
[рейрез;резрдореА рддреНрд░реБрдЯрд┐ [режрдореА] рдирд┐рд░реНрднрд░рддрд╛ рдмрдирд╛рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде: рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ реирелрек
рдЫреЛрдЯреА рдмреВрдВрдж рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓: рд╕рднреА рдЖрдкреВрд░реНрддрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓: рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ 14
рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВ рд╕реНрдерд┐рддрд┐ 223

================================
рдореЗрд░рд╛ npm рд╕рдВрд╕реНрдХрд░рдг рем.резрез.рей рдкрд░ npm рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рддреНрд░реБрдЯрд┐ рдЗрд╕ рдирдП mongodb v3.3.4-rc0 рдмрд┐рд▓реНрдб рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ?

@zhenwan рдпрд╣ abbrev рдкреИрдХреЗрдЬ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдЖрдкрдХреЗ package-lock.json рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдХреГрдкрдпрд╛ рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛рдиреЗ рдФрд░ npm install рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

рдореИрдВ рддреНрд░реБрдЯрд┐ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдФрд░ рдЬрд╛рдБрдЪрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕реЗ v3.3.4-rc0 рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд╕рд╛рде рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрдЯрдЕрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:

  • Node.js рд╡реЗрдмрд╕рд░реНрд╡рд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг http api GET /api/todos рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИ рдЬреЛ todo MongoDB рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдХреНрд╡реЗрд░реА рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рдирдореВрдирд╛ рдбреЗрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ
  • рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛ рдореЗрд░реА рдорд╢реАрди рдкрд░ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ 500ms рдореЗрдВ рдПрдкреАрдЖрдИ рдХреЛ рдХреЙрд▓ рдХрд░рддреА рд╣реИ
  • рдПрдХ рдмрд╛рд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рдиреЗ рдХреЗ рдмрд╛рдж, MongoDB рдкрд░ рдПрдХ рд╡рд┐рдлрд▓рддрд╛ (рдкреНрд░рд╛рдердорд┐рдХ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ) рдЯреНрд░рд┐рдЧрд░ рдХрд░реЗрдВ (рдПрдЯрд▓рд╕ рдкрд░ рдореИрдВ "рдЯреЗрд╕реНрдЯ рдлрд╝реЗрд▓рдУрд╡рд░" рдореЗрдиреВ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЪрдпрди рдХрд░рдХреЗ M10 рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛)

рдЗрд╕ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдереЗ:

Mongodb Node.js 3.3.2 рдпреВрдиреАрдлрд╛рдЗрдб рдЯреЛрдкреЛрд▓реЙрдЬреА false

> MongoDB failover triggered
> MongoDB 'reconnect' event
> A few http calls with +/- 5000ms response times
> MongoDB failover finished
> Everything back to normal

Mongodb Node.js 3.3.2 рдпреВрдиреАрдлрд╛рдЗрдб рдЯреЛрдкреЛрд▓реЙрдЬреА true

> MongoDB failover triggered
> MongoDB 'close' event
> Many MongoNetworkError errors
    {
      "name": "MongoNetworkError",
      "stack": "Error: connect ECONNREFUSED <ip_redacted>:27017
          at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1128:14)",
      "errorLabels": [
        "TransientTransactionError"
      ]
    }
> EventEmitter memory leak warning
    (node:18) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 topologyDescriptionChanged listeners added to [NativeTopology]. Use emitter.setMaxListeners() to increase limit
> Many MongoTimeoutError errors
    {
      "name": "MongoTimeoutError",
      "stack": "MongoTimeoutError: Server selection timed out after 30000 ms
          at Timeout._onTimeout (/app/node_modules/mongodb/lib/core/sdam/topology.js:850:16)
          at listOnTimeout (internal/timers.js:531:17)
          at processTimers (internal/timers.js:475:7)"
    }
> MongoDB failover finished
> Server unable to recover MongoDB connection
> Server restarted manually
> Everything back to normal

я╕П Mongodb Node.js 3.3.4-rc0 рдпреВрдиреАрдлрд╛рдЗрдб рдЯреЛрдкреЛрд▓реЙрдЬреА true

> MongoDB failover triggered
> MongoDB 'reconnect' event expected but not seen
> A few http calls with +/- 5000ms response times
> A couple failed http calls:
    {
      "name": "MongoError",
      "stack": "MongoError: Cache Reader No keys found for HMAC that is valid for time: { ts: Timestamp(1573064656, 1) } with id: 6756219367492419585
          at Connection.<anonymous> (/app/node_modules/mongodb/lib/core/connection/pool.js:451:61)
          at Connection.emit (events.js:210:5)
          at processMessage (/app/node_modules/mongodb/lib/core/connection/connection.js:368:10)
          at TLSSocket.<anonymous> (/app/node_modules/mongodb/lib/core/connection/connection.js:537:15)
          at TLSSocket.emit (events.js:210:5)
          at addChunk (_stream_readable.js:308:12)
          at readableAddChunk (_stream_readable.js:289:11)
          at TLSSocket.Readable.push (_stream_readable.js:223:10)
          at TLSWrap.onStreamRead (internal/stream_base_commons.js:182:23)",
      "ok": 0,
      "errmsg": "Cache Reader No keys found for HMAC that is valid for time: { ts: Timestamp(1573064656, 1) } with id: 6756219367492419585",
      "code": 211,
      "codeName": "KeyNotFound"
    }
> MongoDB failover finished
> Everything back to normal

рддреЛ рдпрд╣ v3.3.4-rc0 рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИ, рд╕рд░реНрд╡рд░ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ MongoDB рд╕реЗ рдбреЗрдЯрд╛ рдХреА рд╕реЗрд╡рд╛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрднреА рднреА рджреЛ рдореБрджреНрджреЗ рд╣реИрдВ:

  • рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 'рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ' рдЗрд╡реЗрдВрдЯ рдЧрд╛рдпрдм рд╣реИ
  • рдПрдХ "рдХреИрд╢ рд░реАрдбрд░ рд╕рдордп рдХреЗ рд▓рд┐рдП рдорд╛рдиреНрдп рд╣реИ рдЬреЛ HMAC рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХреБрдВрдЬрд┐рдпрд╛рдБ рдирд╣реАрдВ рдорд┐рд▓реА" рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЕрдиреБрд░реЛрдз рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ

@mbroadst рд╣рд╛рдБ, package-lock.json рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдореЗрд░реА рдЧреБрдо рдлрд╝рд╛рдЗрд▓ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИред

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЕрднреА рднреА рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ:
2019-11-06T12:52:10.35-0600 [рд╕реЗрд▓/0] OUT рдХрдВрдЯреЗрдирд░ рд╕реНрд╡рд╕реНрде рд╣реЛ рдЧрдпрд╛
2019-11-06T12:52:39.06-0600 [APP/PROC/WEB/0] ERR /home/vcap/app/node_modules/connect-mongo/src/index.js:135
2019-11-06T12:52:39.06-0600 [APP/PROC/WEB/0] ERR рдереНрд░реЛ рдЗрд░реЗрдЯ
2019-11-06T12:52:39.06-0600 [APP/PROC/WEB/0] ERR ^
2019-11-06T12:52:39.06-0600 [APP/PROC/WEB/0] ERR рддреНрд░реБрдЯрд┐: 30000 рдПрдордПрд╕ рдХреЗ рдмрд╛рдж рд╕рд░реНрд╡рд░ рдЪрдпрди рдХрд╛ рд╕рдордп рд╕рдорд╛рдкреНрдд
2019-11-06T12: 52: 39.06-0600 [рдПрдкреАрдкреА/рдкреНрд░реЛрд╕реА/рд╡реЗрдм/0] рдЯрд╛рдЗрдордЖрдЙрдЯ рдкрд░ рдИрдЖрд░рдЖрд░ред /sdam/topology.js:878:9)
2019-11-06T12:52:39.06-0600 [APP/PROC/WEB/0] ERR рдСрди рдЯрд╛рдЗрдордЖрдЙрдЯ (timers.js:469:11)
2019-11-06T12:52:39.06-0600 [APP/PROC/WEB/0] tryOnTimeout рдкрд░ ERR (timers.js:304:5)
2019-11-06T12:52:39.06-0600 [APP/PROC/WEB/0] Timer.listOnTimeout рдкрд░ ERR (timers.js:264:5)
2019-11-06T12:52:39.35-0600 [APP/PROC/WEB/0] рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВ рд╕реНрдерд┐рддрд┐ 1

@zhenwan рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрдиреЗрдХреНрдЯ рдкрд░ рдЖрдкрдХреЗ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реЛрдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕рд╛рде рд╣реА topology.js:878 рд▓рд┐рдП рдЖрдкрдХрд╛ рдмреИрдХрдЯреНрд░реИрдХ рдЙрддреНрд╕реБрдХрддрд╛ рд╕реЗ рдЙрд╕ рд╕реНрдерд╛рди рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ, рдФрд░ рди рд╣реА рдЖрдкрдХреЛ рд╕рд╣реА рдкреНрд░рдХрд╛рд░ MongoTimeoutError ред

рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдПрдХ рдирдпрд╛ рдЬреАрд░рд╛ рдЯрд┐рдХрдЯ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╣рдо рдЖрдкрдХреЗ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХреЗрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдпрд╣рд╛рдВ рдЪрд┐рдкрдХрд╛рдИ рдЧрдИ рд╕рд╛рдордЧреНрд░реА рд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рд╢реБрдХреНрд░рд┐рдпрд╛!

@mbroadst
рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ v3.3.4-rc0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдореБрдЭреЗ рдЕрднреА рднреА рдпрд╣ рд╕рдВрджреЗрд╢ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ

MongoTimeoutError: Server selection timed out after 30000 ms
    at Timeout.setTimeout (api/node_modules/mongodb/lib/core/sdam/topology.js:899:9)
    at ontimeout (timers.js:498:11)
    at tryOnTimeout (timers.js:323:5)
    at Timer.listOnTimeout (timers.js:290:5)

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ loopback-connector-mongodb рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрдкрдиреЗ package.json рдХреЛ mongodb рдореЗрдВ resolutions рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ

"resolutions": {
    "mongodb": "^3.3.4-rc0"
  }

рдореЗрд░реЗ рдХрдиреЗрдХреНрд╢рди рдкреИрд░рд╛рдореАрдЯрд░ рдЕрдиреБрд╕рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ

"host": "127.0.0.1",
 "port": 27017,
"database": "***",
"password": "***",
"user": "***",
"authSource": "***",
"useNewUrlParser": true,
"enableGeoIndexing": true

рдиреАрдЪреЗ рдореЗрд░рд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ

MongoDB server version: 3.6.3 on localhost
yarn v1.19.1
node v8.16.2 

рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рдж

рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ
рдореИрдВрдиреЗ рдХрдиреЗрдХреНрд╢рди рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ useUnifiedTopology: true рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рднреА рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рд╛ред

рдпрд╣рд╛рдВ рдПрдХ рдФрд░ рдкреБрд╖реНрдЯрд┐, рд╕реАрдзреЗ рдиреЗрд╡рд▓реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рд╕реЗ, рдХрд┐ useUnifiedTopology: false рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

@mbroadst MongoDB рдХреА рдУрд░ рд╕реЗ рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореЗрд░реА рдЕрдЬреНрдЮрд╛рдирддрд╛ рдХреЛ рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдореЛрдВрдЧреЛрдбрдм v3.3.4-рдЖрд░рд╕реА0 рдореЗрдВ рдЙрдкрд░реЛрдХреНрдд рдлрд┐рдХреНрд╕ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдиреЗрд╡рд▓рд╛ рдХреЗ рдиреАрдЪреЗ рдХреИрд╕реНрдХреЗрдб рд╣реЛрдЧрд╛? рдареЗрд╕ рдХреЗ рдорд╛рд╣реМрд▓ рдореЗрдВ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдкрджрд╛рд╡рдирдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдЕрдкрдирд╛рдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрд╕рд╣рдЬред

@mmmmoj рдЙрдкрд░реЛрдХреНрдд @zhenwan рдХреЗ рдкреНрд░рд╢реНрди рдХреЗ рд╕рдорд╛рди, рдЖрдкрдХрд╛ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ v3.3.4-rc0 рдирд╣реАрдВ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВред рд╢рд╛рдпрдж рдЕрдкрдирд╛ package-lock.json рдирд┐рдХрд╛рд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ? рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЬреАрд░рд╛ рдЯрд┐рдХрдЯ рджрд╛рдЦрд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╣рдо рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ

@bigsee (рдЖрджрдореА GitHub рдЖрдкрдХреЗ рдирд╛рдо рдХреЛ рд╕реНрд╡рддрдГ рдкреВрд░реНрдг рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реИ!) рдпрд╣ рд╕реБрдирдХрд░ рдЦреБрд╢реА рд╣реБрдИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ - рд╣рдорд╛рд░рд╛ рд╕рдореБрджрд╛рдп рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдореИрдВ @vkarpov15 рдХреЛ рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рдордп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдиреЗ

@mbroadst
рдХрд┐рдпрд╛ рд╣реБрдЖ! рдзрдиреНрдпрд╡рд╛рдж
рдиреЛрдб-реирейрезрей

@mbroadst рд╣рд╛! рдЕрдЬреАрдм рдирд╛рдо рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ!

рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдмрд╣реБрдд рдЬрд▓реНрдж рдмрд╛рдд рдХреА рд╣реЛрдЧреА, рд╢рд╛рдпрдж рддреНрд░реБрдЯрд┐ рдХреА рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкреНрд░рдХреГрддрд┐ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдПред рдореЗрд░реЗ рдРрдк рдХреА рдардВрдбреА рд╢реБрд░реБрдЖрдд рдкрд░, рдЕрдкреЗрдХреНрд╖рд┐рдд рдмрд╣рд┐рд╖реНрдХрд░рдг рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд╕рд╛рде, рдЕрдм рдореБрдЭреЗ рд▓реЙрдЧ рдореЗрдВ рдпрд╣ рдереЛрдбрд╝реА рдбрд░рд╛рд╡рдиреА рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ:

Unhandled rejection: { MongoNetworkError: failed to connect to server [myserver.mlab.com:55841] on first connect [{ MongoNetworkError: connection 0 to myserver.mlab.com:55841 timed out
    at Socket.<anonymous> (/var/task/node_modules/mongodb/lib/core/connection/connection.js:335:7)
    at Object.onceWrapper (events.js:313:30)
    at emitNone (events.js:106:13)
    at Socket.emit (events.js:208:7)
    at Socket._onTimeout (net.js:420:8)
    at ontimeout (timers.js:482:11)
    at tryOnTimeout (timers.js:317:5)
    at Timer.listOnTimeout (timers.js:277:5) name: 'MongoError', [Symbol(mongoErrorContextSymbol)]: {} }]
    at Pool.<anonymous> (/var/task/node_modules/mongodb/lib/core/topologies/server.js:431:11)
    at emitOne (events.js:116:13)
    at Pool.emit (events.js:211:7)
    at connect (/var/task/node_modules/mongodb/lib/core/connection/pool.js:580:14)
    at callback (/var/task/node_modules/mongodb/lib/core/connection/connect.js:109:5)
    at provider.auth.err (/var/task/node_modules/mongodb/lib/core/connection/connect.js:352:21)
    at _authenticateSingleConnection (/var/task/node_modules/mongodb/lib/core/auth/auth_provider.js:66:11)
    at sendAuthCommand (/var/task/node_modules/mongodb/lib/core/auth/scram.js:177:16)
    at Connection.errorHandler (/var/task/node_modules/mongodb/lib/core/connection/connect.js:321:5)
    at Object.onceWrapper (events.js:317:30)
    at emitTwo (events.js:126:13)
    at Connection.emit (events.js:214:7)
    at Socket.<anonymous> (/var/task/node_modules/mongodb/lib/core/connection/connection.js:333:10)
    at Object.onceWrapper (events.js:313:30)
    at emitNone (events.js:106:13)
    at Socket.emit (events.js:208:7)
  name: 'MongoNetworkError',
  errorLabels: [ 'TransientTransactionError' ],
  [Symbol(mongoErrorContextSymbol)]: {} }

рдпрд╣ MongoTimeoutError рд▓реЗрдХрд┐рди рдЕрдм рдпрд╣ MongoNetworkError ... ... рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ?

@bigsee рд╡рд╣ рддреНрд░реБрдЯрд┐ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдЧреА рдХрд┐ рдЖрдк рдПрдХреАрдХреГрдд рдЯреЛрдкреЛрд▓реЙрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ _not_ рд╣реИрдВред рдХреГрдкрдпрд╛ useUnifiedTopology: true рдХреЛ рдЕрдкрдиреЗ MongoClient рднреЗрдЬрдХрд░ рдЗрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ

@mbroadst рдпрд╣ рд╕рд╣реА рд╣реИ, рдЬреЛ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдореБрджреНрджрд╛ рд╣реИред рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдЕрдЧрд░ рдореИрдВ рдЙрд╕ рдкрд░ рдЧрд▓рдд рд╣реВрдБред

рдЬрдм рдореИрдВ useUnifiedTopology: true рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдкрджрд╛рд╡рдирддрд┐ рдЪреЗрддрд╛рд╡рдиреА рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреА рд╣реИ рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдРрдк рдЗрд╕ рдореБрджреНрджреЗ рдХреА рд╢реАрд░реНрд╖рдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реВрдк рд╕реЗ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ MongoTimeoutError: Server selection timed out after 30000 ms ред

рдЬреИрд╕рд╛ рдХрд┐ @ vkarpov15 рдФрд░ рдКрдкрд░ рдХреЗ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╣реИ, рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реВрдВред рддреНрд░реБрдЯрд┐ рджрд┐рди рдореЗрдВ рдХреБрдЫ рдмрд╛рд░ рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕рдордп-рд╕рдордп рдкрд░ 502 рдФрд░ рднрдпрд╛рдирдХ рдпреВрдПрдХреНрд╕ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛрддреА рд╣реИрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, useUnifiedTopology: false (рдпрд╛ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдирд╛) рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреЛ рд░реЛрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореВрд▓реНрдпрд╣реНрд░рд╛рд╕ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдм рдКрдкрд░ рдереЛрдбрд╝рд╛ рдбрд░рд╛рд╡рдирд╛ MongoNetworkError рд╣реИред рдПрдХ рддрд░рдл, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░реЗ рдРрдк рдХреЛ рдирд╣реАрдВ рдорд╛рд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЪрд┐рдВрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рд╣реЛрдЧрд╛ред

@bigsee MongoNetworkError рдЖрдк рдЕрдиреБрднрд╡ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдирдпрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдбреНрд░рд╛рдЗрд╡рд░ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рдерд╛ (рд╕рдВрдпреЛрдЧ рд╕реЗ рдпрджрд┐ рдЖрдкрдХреЗ рдРрдк рдХреЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рдФрд░ рдЖрдкрдХреЗ рдХреНрд▓рд╕реНрдЯрд░ рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдмреАрдЪ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рджреМрдбрд╝ рдХреА рд╕реНрдерд┐рддрд┐ рдкреИрджрд╛ рдХрд░ рд░рд╣реА рд╣реИ рдпрд╣, рддреЛ рдПрдХреАрдХреГрдд рдЯреЛрдкреЛрд▓реЙрдЬреА рдХреЛ рдпрд╣рд╛рдВ рднреА рдорджрдж рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП)ред

рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд▓реЛрдЧ рдПрдХреАрдХреГрдд рдЯреЛрдкреЛрд▓реЙрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд╛ рдкрд╛рд▓рди рдХрд░ рд░рд╣реЗ рдереЗ, рдФрд░ рдЬрдм рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд┐рдпрд╛ рддреЛ рд╡реЗ рдирдХрд▓реА рдЯрд╛рдЗрдордЖрдЙрдЯ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░ рд░рд╣реЗ рдереЗред v3.3.4-rc0 рдЙрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореБрджреНрджреЗ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдЙрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдмрд╣рд┐рд╖реНрдХрд░рдг рдиреЛрдЯрд┐рд╕ рдХреЛ рд╣рдЯрд╛ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рдордиреЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдирдХрд▓реА рдЯрд╛рдЗрдордЖрдЙрдЯ рдореБрджреНрджреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рдпрд╣ рднреА рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП: рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг _all_ рдЯрд╛рдЗрдордЖрдЙрдЯ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдирд╣реАрдВ рд░реЛрдХреЗрдЧрд╛ред рдпрд╣ рддреНрд░реБрдЯрд┐ рдбреНрд░рд╛рдЗрд╡рд░ рдХреА рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛ рдХреЗ рдХрд╛рд░рдг рд╣реЛ рд░рд╣реА рд╣реИ, рдЬреЛ рдЖрдкрдХреА рдУрд░ рд╕реЗ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди (рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ) рдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рддреНрд░реБрдЯрд┐ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдЧрд╛ред рдПрдХреАрдХреГрдд рдЯреЛрдкреЛрд▓реЙрдЬреА рдХреЗ рд╕рд╛рде рдпрд╣ MongoTimeoutError рдХреЗ рд░реВрдк рдореЗрдВ reason рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдЬреЛ рдиреЗрдЯрд╡рд░реНрдХ рддреНрд░реБрдЯрд┐ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрдиреЗрдХреНрдЯ рдкрд░ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред

@mbroadst рдореЗрд░рд╛ рдпрд╣ рд╕реБрдЭрд╛рд╡ рджреЗрдиреЗ рдХрд╛ рдорддрд▓рдм рдирд╣реАрдВ рдерд╛ рдХрд┐ рдореЗрд░реА рдЖрдЦрд┐рд░реА рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ MongoNetworkError рдирдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдЕрдЧрд░ рдпрд╣ рдЗрд╕ рддрд░рд╣ рдкрдврд╝рддрд╛ рд╣реИред рдпрд╣ 'рдореЛрдВрдЧреЛрдЯрд╛рдЗрдордЖрдЙрдЯ рдПрд░рд░' рд╣реИ рдЬреЛ рдирдпрд╛ рд╣реИред рдЙрдореНрдореАрдж рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдореЗрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд░рд╣реА рд╣реИ:

  1. рдРрдк рдореЗрдВ useUnifiedTopology: true рд╕рд╛рде рдХреЙрдиреНрдлрд┐рдЧрд░ рд╣реИ - рд╕рдм рдХреБрдЫ рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ
  2. рдРрдк рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдХреНрд░реИрд╢ рд╣реЛрдирд╛ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╢реАрд░реНрд╖рдХ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реЗ MongoTimeoutError рд╕рд╛рде рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдКрдкрд░ рдкреНрд░рд╕реНрддреБрдд рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рдХреА рдкрд╣рд▓реА рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпрд╛рдБ
  3. рдПрдХ Google / SO рдЦреЛрдЬ рдЕрдВрддрддрдГ рдореБрдЭреЗ рдпрд╣рд╛рдВ рд▓рд╛рддреА рд╣реИ
  4. рдореИрдВ рд╕реБрдЭрд╛рдП рдЧрдП useUnifiedTopology: false рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ
  5. рдРрдк рдХреЗ рдХреНрд░реИрд╢ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рд╣реА MongoTimeoutError рддреНрд░реБрдЯрд┐ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЗрд╕реЗ рдмрд╣рд┐рд╖реНрдХрд░рдг рдЪреЗрддрд╛рд╡рдиреА рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдлрд┐рд░, рдмрд╛рдж рдореЗрдВ, рдЕрддрд┐рд░рд┐рдХреНрдд MongoNetworkError useUnifiedTopology: false рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдирд╣реАрдВ рджреЗрдЦрд╛ рдЧрдпрд╛

рд╢рд╛рдпрдж, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВ, рдпрд╣ рдХрд╛рд░реНрдп-рдХрд╛рд░рдг рдХреЗ рдмрдЬрд╛рдп рд╕рд╣рд╕рдВрдмрдВрдз рд╣реИред рдмрд╕ рдореБрдЭреЗ рдзреВрдореНрд░рдкрд╛рди рдмрдВрджреВрдХ рдХреА рддрд░рд╣ рд▓рдЧ рд░рд╣рд╛ рдерд╛ред рдХрдо рд╕реЗ рдХрдо рдРрдк рдЕрдм рдХреНрд░реИрд╢ рддреЛ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдореИрдВ рд╕рд┐рд░реНрдл рдПрдХ рд╡рд┐рдХрд▓реНрдк рдЫреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд┐рдд рд╣реВрдВ рдЬрд┐рд╕реЗ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

@ рдмрд┐рдЧрд╕реА рдЖрд╣! рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВрдиреЗ рдЖрдкрдХреА рдореВрд▓ рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдкрдврд╝рд╛, рдЗрд╕рдХрд╛ рдЕрд░реНрде рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдкреБрд╖реНрдЯрд┐ рдХрд░ рд░рд╣реЗ рдереЗ рдХрд┐ v3.3.4-rc0 рдмрдЧ рд╕рдорд╛рдзрд╛рди рдиреЗ v3.3.3 рд╕реЗ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдкрдХреЛ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЖрдЬрд╝рдорд╛рдиреЗ рдХрд╛ рдореМрдХрд╛ рдорд┐рд▓рд╛ рд╣реИ?

рдпрд╣ рдореЛрдВрдЧреЛрдбрдм рдкрд░ рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рдкрд░реАрдХреНрд╖рдг рд╣реИ рдФрд░ рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рд╣реЛ рд░рд╣реА рд╣реИред рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдврд╝реЗрдВ рдФрд░ рдореЗрд░реЗ рдбреАрдмреА рдХреЛ v3.3.4-rc0 рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдФрд░ рдпрд╣ рдЕрднреА рднреА рддреНрд░реБрдЯрд┐ рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

рдмрд╣рд┐рд╖реНрдХрд░рдг рдЪреЗрддрд╛рд╡рдиреА: рд╡рд░реНрддрдорд╛рди рд╕рд░реНрд╡рд░ рдбрд┐рд╕реНрдХрд╡рд░реА рдФрд░ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдЗрдВрдЬрди рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдирдП рд╕рд░реНрд╡рд░ рдбрд┐рд╕реНрдХрд╡рд░ рдФрд░ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдЗрдВрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, MongoClient рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рд╡рд┐рдХрд▓реНрдк {useUnifiedTopology: true} рдкрд╛рд╕ рдХрд░реЗрдВред
MongoNetworkError: рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ [cluster0-shard-00-00-rhdve.mongodb. net:27017 ] рдкрд╣рд▓реЗ рдХрдиреЗрдХреНрдЯ рдкрд░ [MongoNetworkError: рдХрдиреЗрдХреНрд╢рди 3 рд╕реЗ рдХреНрд▓рд╕реНрдЯрд░0-shard-00-00-rhdve.mongodb. рд╢реБрджреНрдз: 27017 рдмрдВрдж
рдЯреАрдПрд▓рдПрд╕рд╕реЙрдХреЗрдЯ рдкрд░ред(C:laragonwwwVue-express-mongodbnode_modulesmongodblibcoreconnectionconnection.js:356:9)
Object.onceWrapper рдкрд░ (events.js:297:20)
TLSSocket.emit рдкрд░ (events.js:209:13)
net.js:588:12 . рдкрд░
TCP.done рдкрд░ (_tls_wrap.js:479:7) {
рдирд╛рдо: 'рдореЛрдВрдЧреЛрдиреЗрдЯрд╡рд░реНрдХ рддреНрд░реБрдЯрд┐',
рддреНрд░реБрдЯрд┐ рд▓реЗрдмрд▓: [рд╕рд░рдгреА],
}]
рдкреВрд▓ рдореЗрдВред(C:laragonwwwVue-express-mongodbnode_modulesmongodblibcoretopologiesserver.js:433:11)
Pool.emit рдкрд░ (events.js:209:13)
C:laragonwwwVue-express-mongodbnode_modulesmongodblibcoreconnectionpool.js:562:14 рдкрд░
C:laragonwwwVue-express-mongodbnode_modulesmongodblibcoreconnectionpool.js:999:9 рдкрд░
рдХреЙрд▓рдмреИрдХ рдкрд░ (C:laragonwwwVue-express-mongodbnode_modulesmongodblibcoreconnectionconnect.js:109:5)
C:laragonwwwVue-express-mongodbnode_modulesmongodblibcoreconnectionconnect.js:129:7 рдкрд░
Connection.errorHandler рдкрд░ (C:laragonwwwVue-express-mongodbnode_modulesmongodblibcoreconnectionconnect.js:321:5)
Object.onceWrapper рдкрд░ (events.js:297:20)
Connection.emit рдкрд░ (events.js:209:13)
рдЯреАрдПрд▓рдПрд╕рд╕реЙрдХреЗрдЯ рдкрд░ред(C:laragonwwwVue-express-mongodbnode_modulesmongodblibcoreconnectionconnection.js:354:12) {
рдирд╛рдо: 'рдореЛрдВрдЧреЛрдиреЗрдЯрд╡рд░реНрдХ рдПрд░рд░',
рддреНрд░реБрдЯрд┐ рд▓реЗрдмрд▓: [ 'рдХреНрд╖рдгрд┐рдХ рдЯреНрд░рд╛рдВрдЬрд╝реЗрдХреНрд╢рди рддреНрд░реБрдЯрд┐'],
}
рд▓реЗрдЦрди рддреНрд░реБрдЯрд┐: рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреА рд╕рдВрдкрддреНрддрд┐ 'рдвреВрдВрдвреЗрдВ' рдирд╣реАрдВ рдкрдврд╝ рд╕рдХрддрд╛
C:laragonwwwVue-express-mongodbserverroutesapiposts.js:12:26 . рдкрд░

@ Syfon01 рдЬреЛ рддреНрд░реБрдЯрд┐ рдЖрдк рдЕрдиреБрднрд╡ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рд╣реИ, рдбреНрд░рд╛рдЗрд╡рд░ рд▓реАрдЧреЗрд╕реА рдЯреЛрдкреЛрд▓реЙрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ 10s рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рдмрд╛рдж рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рдЕрдкрдирд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛ рд╣реИред рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ (рд╢рд╛рдпрдж mongo рд╢реЗрд▓ рдХреЗ рд╕рд╛рде)ред рдпрджрд┐ рдЖрдк рдЕрднреА рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЬреАрд░рд╛ рдЯрд┐рдХрдЯ рдЦреЛрд▓реЗрдВ рддрд╛рдХрд┐ рд╣рдо рд╡рд╣рд╛рдВ рдмрд╛рддрдЪреАрдд рдЬрд╛рд░реА рд░рдЦ рд╕рдХреЗрдВ, рдФрд░ рдЗрд╕ рдЧрд┐рдЯрд╣рдм рдореБрджреНрджреЗ рдХреЛ рджреЗрдЦрдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рднреНрд░рдорд┐рдд рди рдХрд░реЗрдВ

рдЬрд┐рди рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИ, рдпрджрд┐ рдЖрдк рдореЛрдВрдЧреЛ рдПрдЯрд▓рд╕ рдХреНрд▓рд╛рдЙрдб рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рджреЗрдЦреЗрдВ рдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдПрдХреНрд╕реЗрд╕ рдЯреИрдм рдореЗрдВ рдЖрдкрдХрд╛ рдЖрдИрдкреА рдкрддрд╛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдореЗрд░реЗ рдкрд╛рд╕ рд╕рдорд╕реНрдпрд╛ рдереА рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЪреВрдВрдХрд┐ рдореЗрд░рд╛ рдЖрдИрдПрд╕рдкреА рд╣рд░ рдмрд╛рд░ рдирдП рдЖрдИрдкреА рджреЗрддрд╛ рд╣реИ (рдбреАрдПрдЪрд╕реАрдкреА) рдореИрдВ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдлрд┐рд░ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реВрдВ, рдореЛрдВрдЧреЛ рдПрдЯрд▓рд╕ рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЖрдИрдкреА рдкрддреЗ рдХреЛ рд╕рдлреЗрдж рд╕реВрдЪреАрдмрджреНрдз рдХрд░ рд░рд╣рд╛ рдерд╛ред рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИред

рдЕрджреНрдпрддрди - рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛

рдореИрдВ рдЕрдкрдиреЗ рдХреЛрдб рдХреА рд╕рдВрд░рдЪрдирд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреЙрд▓рдмреИрдХ рдХреЛ рдмрджрд▓рдХрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛:

mongoose.connect(DATABASE_URL, {
    useNewUrlParser: true,
    useUnifiedTopology: true,
}).then(() => {
    console.log('Connected to DB');
    app.listen({ port: PORT }, () => {
        console.log(`Server running at http://localhost:${PORT}`)
    });
}).catch(err => console.log(err));
mongoose.connect(DATABASE_URL, { 
    useNewUrlParser: true, 
    useUnifiedTopology: true,
}, () => {
    console.log('Connected to DB');
    app.listen({ port: PORT }, () => {
        console.log(`Server running at http://localhost:${PORT}`);
    });
}).catch(err => console.log(err));

@ mtn2bay рдЬрд┐рд╕рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ рд╡рд╛рджреЗ рдХреЗ рдмрдЬрд╛рдп рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдо рдЕрднреА рднреА рдПрдХ рд╣реА рд╣реИ, рдХреЗрд╡рд▓ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЖрдкрдХреЛ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рдФрд░ рддреНрд░реБрдЯрд┐ рджреЛрдиреЛрдВ рдорд┐рд▓рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЖрдк .then рдФрд░ .catch рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп рд▓реЙрдЧрд┐рдВрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХрд╛ рдлрд╝рдВрдХреНрд╢рди db рд╕реЗ рдХрдиреЗрдХреНрдЯреЗрдб рд▓реЙрдЧрд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реЛрдиреЗ рдкрд░ рднреА рдРрдк рдХреЛ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЗрд╕реЗ рдЖрдЬрдорд╛рдПрдВ

mongoose.connect(DATABASE_URL, { 
    useNewUrlParser: true, 
    useUnifiedTopology: true,
}, (err, connection) => {
if(err) {
console.error(err)
return
}    
console.log('Connected to DB');
    app.listen({ port: PORT }, () => {
        console.log(`Server running at http://localhost:${PORT}`);
    })

@khaledosman рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЖрдк рд╕рд╣реА рд╣реИрдВ, рдореИрдВ рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рддреНрд░реБрдЯрд┐ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░реЗ рдбреАрдмреА рдкрде рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдереАред

рдореИрдВ рдПрдХ рд╣реА рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рдерд╛, рдореИрдВрдиреЗ 5.6.9 рд╕реЗ 5.7.6 рддрдХ рдиреЗрд╡рд▓рд╛ рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдореБрджреНрджрд╛ рдЧрд╛рдпрдм рд╣реЛ рдЧрдпрд╛ред

рдЬрд┐рди рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИ, рдпрджрд┐ рдЖрдк рдореЛрдВрдЧреЛ рдПрдЯрд▓рд╕ рдХреНрд▓рд╛рдЙрдб рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рджреЗрдЦреЗрдВ рдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдПрдХреНрд╕реЗрд╕ рдЯреИрдм рдореЗрдВ рдЖрдкрдХрд╛ рдЖрдИрдкреА рдкрддрд╛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдореЗрд░реЗ рдкрд╛рд╕ рд╕рдорд╕реНрдпрд╛ рдереА рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЪреВрдВрдХрд┐ рдореЗрд░рд╛ рдЖрдИрдПрд╕рдкреА рд╣рд░ рдмрд╛рд░ рдирдП рдЖрдИрдкреА рджреЗрддрд╛ рд╣реИ (рдбреАрдПрдЪрд╕реАрдкреА) рдореИрдВ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдлрд┐рд░ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реВрдВ, рдореЛрдВрдЧреЛ рдПрдЯрд▓рд╕ рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЖрдИрдкреА рдкрддреЗ рдХреЛ рд╕рдлреЗрдж рд╕реВрдЪреАрдмрджреНрдз рдХрд░ рд░рд╣рд╛ рдерд╛ред рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИред

рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд┐рдпрд╛
UnhandledPromiseRejectionWarning: MongoTimeoutError: Server selection timed out after 30000 ms at Timeout.setTimeout (C:\Users\Umer MIB\Desktop\Chatbots2\mongobot\node_modules\mongodb\lib\core\sdam\topology.js:878:9) at ontimeout (timers.js:436:11) at tryOnTimeout (timers.js:300:5) at listOnTimeout (timers.js:263:5) at Timer.processTimers (timers.js:223:10) (node:4304) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) (node:4304) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЗрд╕рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдХреИрд╕реЗ рд╣рд▓ рд╣реБрдИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдХрдореНрдкрд╛рд╕ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЬреЛрдбрд╝рд╛, рдмрд╕ рд▓рд┐рдВрдХ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИред рдПрдХ рдмрд╛рд░ рдЬрдм рдпрд╣ рдХрдиреЗрдХреНрдЯ рд╣реЛ рдЧрдпрд╛, рддреЛ рддреНрд░реБрдЯрд┐ рджреВрд░ рд╣реЛ рдЧрдИред рдореЗрд░реЗ рдХреЛрдб рдореЗрдВ рдЯреЛрдкреЛрд▓реЙрдЬреА рдЕрднреА рднреА рд╕рд╣реА рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдиреЗ рдХрдореНрдкрд╛рд╕ рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реЛ рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рдореЛрдВрдЧреЛрдбрдм рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рд╕рд╛рде рд╕рд╣реА рдирд╣реАрдВ рдереЗред рдЕрдм рдореИрдВ рдХрдореНрдкрд╛рд╕ рдХреЗ рдмрд┐рдирд╛ рдЬреБрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рд╕рдм рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИ, рдмрд╕ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдПрдХ рдмрд╛рд░ рдХрд┐рдпрд╛ред

рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реА рдФрд░ рдЗрд╕ рдордВрдЪ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдпреВрдиреАрдлрд╛рдЗрдб рдЯреЛрдкреЛрд▓реЙрдЬреА рд╕реЗрдЯрд┐рдВрдЧ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐ рддрдм рдореИрдВрдиреЗ рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдЕрдирд╕реБрдирд╛ рдХрд░ рджрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдм рдпрд╣ рдЕрднреА рднреА рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ... рдХрд╛рдлреА рднреНрд░рдорд┐рдд ...

Mongoose v5.7.11 рдирдП рд░рд┐рд▓реАрдЬ MongoDB рдбреНрд░рд╛рдЗрд╡рд░ 3.3.4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рд╕рдорд╛рди рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓реЗрдВ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

Soviut picture Soviut  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rohan-paul picture rohan-paul  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

wlingke picture wlingke  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

AraanBranco picture AraanBranco  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

weisjohn picture weisjohn  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ