рдирдорд╕реНрддреЗ
4.12.0
рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдРрдк (рдПрдХреНрд╕рдкреНрд░реЗрд╕ + рдЖрдо) рдореЗрдВ рдХреБрдЫ рдореЛрдЪрд╛/рдЪрд╛рдп рдкрд░реАрдХреНрд╖рдг рдЬреЛрдбрд╝рд╛ рдФрд░ рдореИрдВрдиреЗ рдХреБрдЫ рдРрд╕рд╛ рджреЗрдЦрд╛ рдЬреЛ рдРрдк рдХреЛ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рдерд╛ред
рдореБрджреНрджрд╛
рдореЗрд░реЗ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддреЗ рд╕рдордп, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрднреА рдмрд╛рд╣рд░ рдирд╣реАрдВ рдирд┐рдХрд▓рддреА рд╣реИ рдФрд░ рдЖрдо (рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░) рдХреЗ рдХрд╛рд░рдг рдмреЗрдХрд╛рд░ рд╣реЛ рдЬрд╛рддреА рд╣реИред
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдореЗрдВ рдХреБрдЫ рднреА рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рдирд╣реАрдВ рд╣реИ... рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдЕрдВрдд рдореЗрдВ рдХреБрдЫ рдиреЗрд╡рд▓реЗ#рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рд╛..
рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рд╕рд▓рд╛рд╣ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдореЗрдВ рдХреНрдпрд╛ рдмрд╛рдзрд╛ рд╣реИ?
const mongoose = require('mongoose');
import { databaseConfig } from './config/database';
export function setupDatabase() {
mongoose.Promise = require('bluebird');
//mongoose.set("debug", true)
var connection = mongoose.connect(databaseConfig.database, { useMongoClient: true }, (err) => { console.log("Connect error: " + err) });
mongoose.connection.on('connected', () => {
console.log('Connected to database ' + databaseConfig.database);
});
mongoose.connection.on('error', (err) => {
console.log('Database error: ' + err);
});
return mongoose;
}
рд╣рд░ рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ mongoose.connect
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рддреЛ рдореБрдЭреЗ рд╣рдореЗрд╢рд╛ рдпреЗ рдЪреЗрддрд╛рд╡рдиреА рдорд┐рд▓рддреА рд╣реИ
рдкрджрд╛рд╡рдирдд рдЪреЗрддрд╛рд╡рдиреА:
open()
рдХреЛ рдиреЗрд╡рд▓рд╛>= 4.11.0 рдореЗрдВ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрдЬрд╛рдпopenUri()
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдпрд╛connect()
рдпрд╛createConnection()
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░useMongoClient
рд╡рд┐рдХрд▓реНрдк рд╕реЗрдЯ рдХрд░реЗрдВcreateConnection()
ред рджреЗрдЦреЗрдВ http://mongoosejs.com/docs/connections.html#use -mongo-client
рдореИрдВ рдиреЛрдб рдкрд░ рд╣реВрдВ: 8.7 , рдиреЗрд╡рд▓рд╛: 4.12.2
рдЗрд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗ,
const mongoose = require('mongoose');
mongoose.Promise = require('bluebird');
import { databaseConfig } from './config/database';
async function setupDatabase() {
// mongoose.set('debug', true);
return await mongoose.connection.openUri(databaseConfig.database);
}
(async function () {
const conn = await setupDatabase();
// closing instance
await conn.close();
}());
рдЦреИрд░, рдореЗрд░рд╛ рдмреБрд░рд╛ рдпрд╣ рдЖрдо рдХреА рдЧрд▓рддреА рдирд╣реАрдВ рдереАред
рдореИрдВ рдореЛрдЪрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдХреЙрд▓ рдХреЛ process.exit рдкрд░ рдмрд╛рдзреНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП --exit
рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рдирд╛ рдкрдбрд╝рд╛ред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдмрд┐рдирд╛ рдореЛрдЪрд╛ рдмрд╕ ... рдкрд░реАрдХреНрд╖рдг рдХреЗ рдЕрдВрдд рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддрд╛ рд╣реИред
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдирд╛ рд╕рд┐рд░реНрдл рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИред рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдИ рдХрдиреЗрдХреНрд╢рди рдЦреБрд▓реЗ рд╣реИрдВ рдФрд░ mongoose.disconnect()
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдЕрднреА рднреА рдПрдХ рд╕реЙрдХреЗрдЯ рдЦреБрд▓рд╛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдирд╛ рд╕рд┐рд░реНрдл рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИред рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдИ рдХрдиреЗрдХреНрд╢рди рдЦреБрд▓реЗ рд╣реИрдВ рдФрд░
mongoose.disconnect()
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдЕрднреА рднреА рдПрдХ рд╕реЙрдХреЗрдЯ рдЦреБрд▓рд╛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред