рдХреНрдпрд╛ рдЖрдк рдХрд┐рд╕реА рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдмрдЧ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?
рдПрдХ рджреЛрд╖ред
рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ?
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
рдЖрдк рдХрд┐рд╕ рдбреЙрдХрд░ рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ? рд╕рд╛рде рд╣реА, рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ 'рд╕рд░реНрд╡рд░ рдЪрдпрди рдХрд╛ рд╕рдордп рд╕рдорд╛рдкреНрдд' рд╕рдВрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рд╣реИ?
рдЕрд░реЗ, рдмрд╕ рдпрд╣рд╛рдВ рдпрд╣ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдереАред
рдореИрдВ рд╕реНрд╡рдпрдВ рдбреЙрдХрд░ рдпрд╛ рдХрд┐рд╕реА рд╡реАрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рд╣рд░ рд╕рдордп рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдЬ рдореИрдВ рдЯрд╛рдЗрдордЖрдЙрдЯ (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)
рдЙрддреНрд╕рд░реНрдЬрд┐рдд 'рддреНрд░реБрдЯрд┐' рдШрдЯрдирд╛:
рдЯреАрдПрд▓рдПрд╕рд╕реЙрдХреЗрдЯ рдкрд░ред
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
рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ 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 рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ:
рд╕реНрдерд╛рдиреАрдп рдореЛрдВрдЧреЛрдбрдм рд╕рд░реНрд╡рд░ рдореЗрдВ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрд╛ред рд╡рд╣рд╛рдВ, рд╣рд░ рдХреНрд╡реЗрд░реА рдмрд╕ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд╛рдо рдХрд░рддреА рд╣реИред
рдЗрд╕рдХрд╛ рдкрд╣реБрдВрдЪ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ 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 рд╕реЗ рд╢реНрд╡реЗрддрд╕реВрдЪреА рдореЗрдВ рдбрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛
рджреВрд╕рд░реЛрдВ рдХреА рддрд░рд╣, рдпрд╣ рддреНрд░реБрдЯрд┐ рд╣рд░ рдХреБрдЫ рджрд┐рдиреЛрдВ рдореЗрдВ рдореЗрд░реЗ рдРрдк рдХреЛ рдХреНрд░реИрд╢ рдХрд░ рджреЗрддреА рд╣реИ рдФрд░ рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЖрдИрдкреА рдкрддреЗ рдХреА рдкрд╣реБрдВрдЪ рдпрд╛ рд╢реНрд╡реЗрддрд╕реВрдЪреА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИред
рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ:
рдЕрднреА рдХреЗ рд▓рд┐рдП, рдореИрдВ useUnifiedTopology: true
рдкрд░ рднреА рдЯрд┐рдкреНрдкрдгреА рдХрд░реВрдВрдЧрд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдЯрд▓рд╕ рдпрд╛ рдореЛрдВрдЧреЛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЕрдиреНрдп рдиреЗ рдХрд╣рд╛ рд╣реИред
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 рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд╕рд╛рде рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрдЯрдЕрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
GET /api/todos
рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИ рдЬреЛ todo
MongoDB рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдХреНрд╡реЗрд░реА рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рдирдореВрдирд╛ рдбреЗрдЯрд╛ рд╣реЛрддрд╛ рд╣реИрдЗрд╕ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдереЗ:
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 рд╕реЗ рдбреЗрдЯрд╛ рдХреА рд╕реЗрд╡рд╛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрднреА рднреА рджреЛ рдореБрджреНрджреЗ рд╣реИрдВ:
@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
рдирдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдЕрдЧрд░ рдпрд╣ рдЗрд╕ рддрд░рд╣ рдкрдврд╝рддрд╛ рд╣реИред рдпрд╣ 'рдореЛрдВрдЧреЛрдЯрд╛рдЗрдордЖрдЙрдЯ рдПрд░рд░' рд╣реИ рдЬреЛ рдирдпрд╛ рд╣реИред рдЙрдореНрдореАрдж рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдореЗрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд░рд╣реА рд╣реИ:
useUnifiedTopology: true
рд╕рд╛рде рдХреЙрдиреНрдлрд┐рдЧрд░ рд╣реИ - рд╕рдм рдХреБрдЫ рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИMongoTimeoutError
рд╕рд╛рде рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдКрдкрд░ рдкреНрд░рд╕реНрддреБрдд рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рдХреА рдкрд╣рд▓реА рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпрд╛рдБuseUnifiedTopology: false
рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ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 рдмрдВрдж
рдЯреАрдПрд▓рдПрд╕рд╕реЙрдХреЗрдЯ рдкрд░ред
Object.onceWrapper рдкрд░ (events.js:297:20)
TLSSocket.emit рдкрд░ (events.js:209:13)
net.js:588:12 . рдкрд░
TCP.done рдкрд░ (_tls_wrap.js:479:7) {
рдирд╛рдо: 'рдореЛрдВрдЧреЛрдиреЗрдЯрд╡рд░реНрдХ рддреНрд░реБрдЯрд┐',
рддреНрд░реБрдЯрд┐ рд▓реЗрдмрд▓: [рд╕рд░рдгреА],
}]
рдкреВрд▓ рдореЗрдВред
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-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 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рд╕рдорд╛рди рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓реЗрдВ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдирдорд╕реНрддреЗ! рдореЗрд░рд╛ рдирд╛рдо рдореИрдЯ рд╣реИ рдФрд░ рдореИрдВ MongoDB рдореЗрдВ рдбреНрд░рд╛рдЗрд╡рд░ рдЯреАрдо рдореЗрдВ рд╣реВрдБред рдЖрдк рд╕рднреА рдЬрд┐рди рд░реБрдХрд╛рд╡рдЯреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрд╕рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдмрд╣реБрдд рдЦреЗрдж рд╣реИ, рдФрд░ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЕрдкрдбреЗрдЯ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ:
рд╣рдо рдЕрдкрдиреЗ рдкреБрд░рд╛рдиреЗ рдЯреЛрдкреЛрд▓реЙрдЬреА рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдЪрд░рдгрдмрджреНрдз рддрд░реАрдХреЗ рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░реНрдЬрд┐рдХрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрди рдЧрдИ рд╣реИред рдЗрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдЪрд░рдгрдмрджреНрдз рддрд░реАрдХреЗ рд╕реЗ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рд╕реЗ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рдмреЛрдЭ рдХреЛ рдХрд╛рдлреА рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреА, рдФрд░ рд╣рдорд╛рд░реА рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рдФрд░ рдХреБрд╢рд▓ рдбреНрд░рд╛рдЗрд╡рд░ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, "рдПрдХреАрдХреГрдд рдЯреЛрдкреЛрд▓реЙрдЬреА" рдХреА рд╢реБрд░реБрдЖрдд рдХрд░рддреЗ рд╕рдордп рд╣рдордиреЗ рддреНрд░реБрдЯрд┐ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рдкреВрд▓ рдХреЗ рдкреБрдирд░реНрд▓реЗрдЦрди рдХрд╛ рднреА рдкрд░рд┐рдЪрдп рдирд╣реАрдВ рджрд┐рдпрд╛ред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдХрдиреЗрдХреНрд╢рди рдкреВрд▓ рд╣рдорд╛рд░реЗ рдЕрдиреБрдорд╛рди рд╕реЗ рдЕрдзрд┐рдХ рдЯреЛрдкреЛрд▓реЙрдЬреА рдкреНрд░рдХрд╛рд░реЛрдВ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рдерд╛ рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣рдордиреЗ рдХреБрдЫ рдкреНрд░рддрд┐рдЧрдорди рдХрд╛ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рд░реНрд╡рд░ рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рдЖрд╕рдкрд╛рд╕ред
рдЖрдЬ рд╕реБрдмрд╣ рдореИрдВрдиреЗ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ v3.3.4-rc0 рдХреЛ рдзрдХреНрдХрд╛ рджрд┐рдпрд╛ рдЬреЛ рдЖрдкрдХреЗ рд╕рд╛рдордиреЗ рдЖрдиреЗ рд╡рд╛рд▓реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдЖрдк рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЖрдЬрдорд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рд╣рдо рдмрд╣реБрдд рдЖрднрд╛рд░реА рд╣реЛрдВрдЧреЗред рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдореМрдЬреВрджрд╛ рдЯрд┐рдХрдЯреЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд░ NODE-2267 рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдЫреЛрдбрд╝реА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЕрдиреБрднрд╡ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреГрдкрдпрд╛ рд╡рд╣рд╛рдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдореБрджреНрджреЛрдВ рдХреЛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред