Mongoose: рдкрджрд╛рд╡рдирдд рдЪреЗрддрд╛рд╡рдиреА: collection.ensureIndex рдкрджрд╛рд╡рдирдд рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп createIndexes рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдХреЛ рдирд┐рд░реНрдорд┐рдд 18 рдЕрдЧре░ 2018  ┬╖  32рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: Automattic/mongoose

рд╕рдВрд╕реНрдХрд░рдг 5.2.9 рдХреЗ рдЕрдкрдбреЗрдЯ рдХреЗ рдмрд╛рдж, рдЬрдм рдореИрдВ рдЕрдкрдирд╛ рд╡реЗрдм рдРрдк рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдпрд╣ рд╕рдВрджреЗрд╢ рд╣рд░ рд╕рдордп рдХрдВрд╕реЛрд▓ рдореЗрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ:

DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead.

рдФрд░ рдореИрдВ рдЙрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ред

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

рд╕рдВрд╕реНрдХрд░рдг 5.2.10 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рджред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ рдмрдВрдж рдХрд░ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП?

js mongoose.connect(config.dbUri, { useCreateIndex: true, useNewUrlParser: true })
рдпрд╛
js mongoose.set('useCreateIndex', true) mongoose.connect(config.dbUri, { useNewUrlParser: true })
рдпрд╣ рдпрд╣рд╛рдБ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред (рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдЕрдЧрд░ рдореИрдВрдиреЗ рдХреБрдЫ рдЧрд▓рдд рдХрд┐рдпрд╛)

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

#6880 . рдХрд╛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ

@bricss рдореБрджреНрджреЗ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдиреЗрд╡рд▓рд╛ ensureIndex() рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдЖрдк рдЕрднреА рдХреЗ рд▓рд┐рдП рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдиреЛрдб рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдЪреБрдк рдХрд░рд╛ рд╕рдХрддреЗ рд╣реИрдВ --no-deprecation , рдпрд╛ 5.2.8 рдореЗрдВ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ 5.2.9 рдореЗрдВ рдХреЛрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реБрдзрд╛рд░ рдирд╣реАрдВ рд╣реИрдВ рдЬрд┐рд╕ рдкрд░ рдЖрдк рднрд░реЛрд╕рд╛ рдХрд░ рд░рд╣реЗ рдереЗред рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП #6880 рдХреЛ рдлреЙрд▓реЛ рдХрд░реЗрдВ

,unique: true,index: true рдореЗрд░реЗ рдХрд┐рд╕реА рдПрдХ рд╕реНрдХреАрдорд╛ рдореЗрдВ рдПрдХ рдлрд╝реАрд▓реНрдб рдкрд░ рд╣реИ рдФрд░ рдпрд╣ рдЗрд╕ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИред рдкреНрд░рд╢реНрди рдпрд╣ рдЪреЗрддрд╛рд╡рдиреА рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдореВрд▓реНрдп рдХреИрд╕реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред

@nonniv 5.2.10 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВ рдФрд░ mongoose.set('useCreateIndex', true); . рд╕реЗрдЯ рдХрд░реЗрдВ

рд╕рдВрд╕реНрдХрд░рдг 5.2.10 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рджред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ рдмрдВрдж рдХрд░ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП?

js mongoose.connect(config.dbUri, { useCreateIndex: true, useNewUrlParser: true })
рдпрд╛
js mongoose.set('useCreateIndex', true) mongoose.connect(config.dbUri, { useNewUrlParser: true })
рдпрд╣ рдпрд╣рд╛рдБ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред (рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдЕрдЧрд░ рдореИрдВрдиреЗ рдХреБрдЫ рдЧрд▓рдд рдХрд┐рдпрд╛)

@samuelcecilio рдЖрдк рдХреМрди рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд╣рд┐рд╖реНрдХрд░рдг рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ? рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдиреЛрдЯ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ #6922 рдЦреЛрд▓рд╛, рдпрд╛ рдмреЗрдЭрд┐рдЭрдХ рдЕрдкрдиреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ рдпрд╣рд╛рдВ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ рдФрд░ рдореИрдВ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

(node:9125) DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead.

@samuelcecilio mongoose.set('useCreateIndex', true) рдХреЛ рдЙрд╕ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рд░реЛрдХрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рджреНрд╡рд╛рд░рд╛ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:

6922.рдЬреЗрдПрд╕

#!/usr/bin/env node
'use strict';

const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/test', { useNewUrlParser: true });
mongoose.set('useCreateIndex', true);

const conn = mongoose.connection;
const Schema = mongoose.Schema;

const schema = new Schema({
  name: {
    type: String,
    unique: true
  }
});

const Test = mongoose.model('test', schema);

const test = new Test({ name: 'one' });

async function run() {
  console.log(`mongoose version: ${mongoose.version}`);
  await conn.dropDatabase();
  await test.save();
  return conn.close();
}

run();

рдЖрдЙрдЯрдкреБрдЯ:

issues: ./6922.js
mongoose version: 5.2.10
issues:

рдХреНрдпрд╛ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ рдХрд┐ рдЖрдкрдХрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ 5.2.10 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ? рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдиреЗрд╡рд▓реЗ рдХреЗ рдЕрдиреНрдп рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЕрдиреНрдп рдкреИрдХреЗрдЬ рд╣реИрдВ, рдЖрджрд┐?

рд╣рд╛рдп, рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд╣рд╛рдВ, рдореИрдВрдиреЗ рддреАрди рдмрд╛рд░ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЬрд╛рдВрдЪ рдХреА рд╣реИ:

$ npm list --depth=0 ... [email protected] ...

рдореЗрд░рд╛ рдХреЛрдб

app.js
```` рдЬреЗрдПрд╕
...

рдХреЙрдиреНрд╕ рдХреЙрдиреНрдлрд┐рдЧ = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('./config')
рдХрд╛рд╕реНрдЯ рдиреЗрд╡рд▓рд╛ = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('рдиреЗрд╡рд▓рд╛')
рдХреЙрдиреНрд╕реНрдЯ рдПрдХреНрд╕рдкреНрд░реЗрд╕ = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('рдПрдХреНрд╕рдкреНрд░реЗрд╕')
рдХреЙрдиреНрд╕реНрдЯ рдРрдк = рдПрдХреНрд╕рдкреНрд░реЗрд╕ ()

mongoose.connect(config.dbUri, { useNewUrlParser: true})
mongoose.set ('useCreateIndex', рд╕рддреНрдп)

....

рдореЙрдбреНрдпреВрд▓.рдПрдХреНрд╕рдкреЛрд░реНрдЯреНрд╕ = рдРрдк
````

рдмрд┐рди/www
```` рдЬреЗрдПрд╕

!/usr/bin/env рдиреЛрдб

рдХреЙрдиреНрд╕реНрдЯ рдРрдк = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('../ рдРрдк')
рдХреЙрдиреНрд╕ рдХреЙрдиреНрдлрд┐рдЧ = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('../config')
рдХреЙрдиреНрд╕реНрдЯ рдбреАрдмрдЧ = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('рдбреАрдмрдЧ') ('рдмреНрд▓рд┐рдЯреНрдЬ')
рдХреЙрдиреНрд╕реНрдЯ http = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('http')
рдХреЙрдиреНрд╕реНрдЯ рдкреЛрд░реНрдЯ = рдиреЙрд░реНрдорд▓рд╛рдЗрдЬрд╝рдкреЛрд░реНрдЯ (рдкреНрд░реЛрд╕реЗрд╕.рдПрдирд╡реА.рдкреЛрд░реНрдЯ || config.port)
рдХрд╛рд╕реНрдЯ рдиреЗрд╡рд▓рд╛ = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('рдиреЗрд╡рд▓рд╛')

app.set ('рдкреЛрд░реНрдЯ', рдкреЛрд░реНрдЯ)

рдХреЙрдиреНрд╕реНрдЯ рд╕рд░реНрд╡рд░ = http.createServer (рдРрдк)

рд╕рд░реНрд╡рд░ред рд╕реБрдиреЛ (рдкреЛрд░реНрдЯ)
server.on ('рддреНрд░реБрдЯрд┐', рддреНрд░реБрдЯрд┐ рдкрд░)
рд╕рд░реНрд╡рд░.рдСрди ('рд╕реБрдирдирд╛', рдСрди рд▓рд┐рд╕рдирд┐рдВрдЧ)

рдХрд╛рд╕реНрдЯ рдореЛрдВрдЧреЛ = mongoose.connection

mongo.on ('рддреНрд░реБрдЯрд┐', рддреНрд░реБрдЯрд┐ => {рдбреАрдмрдЧ ('рдореЛрдВрдЧреЛ:' + error.name)})
mongo.on ('рдХрдиреЗрдХреНрдЯреЗрдб', () => {рдбреАрдмрдЧ ('рдореЛрдВрдЧреЛ: рдХрдиреЗрдХреНрдЯреЗрдб')})
mongo.on ('рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯреЗрдб', () => {рдбреАрдмрдЧ ('рдореЛрдВрдЧреЛ: рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯреЗрдб')})

....
````

рдЬрдм рдореИрдВ DEBUG=blitz* npm run dev . рдЪрд▓рд╛рддрд╛ рд╣реВрдВ

``` `рдмреИрд╢

рдиреЛрдбрдореЙрди рдмрд┐рди/www

[рдиреЛрдбрдореЛрди] 1.18.3
[рдиреЛрдбрдореЛрди] рдХрд┐рд╕реА рднреА рд╕рдордп рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, rs . рджрд░реНрдЬ рдХрд░реЗрдВ
[рдиреЛрдбрдореЛрди] рджреЗрдЦ рд░рд╣рд╛ рд╣реИ:ред
[рдиреЛрдбрдореЛрди] node bin/www . рд╕реЗ рд╢реБрд░реВ рд╣реЛ рд░рд╣рд╛ рд╣реИ
рдкреЛрд░реНрдЯ 3000 +0ms . рдкрд░ рдмреНрд▓рд┐рдЯреНрдЬ рд╕реБрдирдирд╛
рдмреНрд▓рд┐рдЯреНрдЬ рдореЛрдВрдЧреЛ: рдХрдиреЗрдХреНрдЯреЗрдб +14ms
(рдиреЛрдб:10622) рдкрджрд╛рд╡рдирдд рдЪреЗрддрд╛рд╡рдиреА: collection.ensureIndex рдкрджрд╛рд╡рдирдд рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп createIndexes рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
````

@samuelcecilio рд╢рд╛рдпрдж рдЗрд╕рдХреЗ рдмрдЬрд╛рдп mongoose.set('useCreateIndex', true) рдХреЛ bin/www рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ? рдореИрдВ рдПрдХ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдЙрджрд╛рд╣рд░рдг рдФрд░ рдкрд░реАрдХреНрд╖рдг рднреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░реВрдВрдЧрд╛ред

@samuelcecilio рдЗрд╕рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдореБрдЭреЗ рд░реВрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ useCreateIndex рдХреЛ рд╕рд╣реА рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдореЙрдбрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдХреНрд▓реА рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЧрдП рдЗрдВрдбреЗрдХреНрд╕ рд░реВрдЯ рдореЗрдВ useCreateIndex рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

var express = require('express');
var router = express.Router();
const mongoose = require('mongoose');
mongoose.set('useCreateIndex', true);
const Test = mongoose.model('test', { name: {type: String, unique: true }});

/* GET home page. */
router.get('/', function(req, res, next) {
  Test.create({ name: 'billy' }).then((doc) => {
    return res.status(200).json({ done: true, test: doc.id });
  }).catch((e) => {
    return res.status(500).json({ err: e });
  });
});

module.exports = router;

рдЗрдВрдбреЗрдХреНрд╕ рд░реВрдЯ рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рд╡рд┐рдХрд▓реНрдк рдХреЗ рдмрд┐рдирд╛ рдореБрдЭреЗ рдорд┐рд▓рд╛:

[nodemon] starting `node bin/www`
version: 5.2.10
(node:17042) DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead.

рдореБрдЭреЗ рдорд┐рд▓реЗ рдорд╛рд░реНрдЧ рдореЗрдВ рд╡рд┐рдХрд▓реНрдк рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж:

[nodemon] starting `node bin/www`
version: 5.2.10
^C

рдореИрдВрдиреЗ рдЗрд╕реЗ рдмрд┐рди/www рдореЗрдВ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдЙрд╕реЗ рдЪреЗрддрд╛рд╡рдиреА рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдХреЗрд╡рд▓ рдЗрд╕реЗ рдорд╛рд░реНрдЧ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реА рд╕рдлрд▓ рд░рд╣рд╛ред

рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рдХрд░реНрд▓рд┐рдВрдЧ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ

~>: curl localhost:3000/
{"done":true,"test":"5b84a4e13ec72e4352475426"}~>: 
~>: 

рдореИрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ, рдЧреНрд░рд╛рд╣рдХреЛрдВ, рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛рдУрдВ, рдЖрджреЗрд╢реЛрдВ, рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

рдЗрд╕рдиреЗ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рд░реЛрдХ рджрд┐рдпрд╛:

рдореЙрдбрд▓/user.js
```` рдЬреЗрдПрд╕
рдХреЙрдиреНрд╕реНрдЯ рдПрдбреНрд░реЗрд╕ рд╕реНрдХреАрдорд╛ = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('./ рдкрддрд╛')
рдХреЙрдиреНрд╕реНрдЯ рдкреНрд░реЛрдлрд╛рдЗрд▓ рд╕реНрдХреАрдорд╛ = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('./рдкреНрд░реЛрдлрд╛рдЗрд▓')
const uuidv4 = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('uuid/v4')
рдХрд╛рд╕реНрдЯ рдиреЗрд╡рд▓рд╛ = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('рдиреЗрд╡рд▓рд╛')
рдХреЙрдиреНрд╕реНрдЯ рд╕реНрдХреАрдорд╛ = рдиреЗрд╡рд▓рд╛ред рд╕реНрдХреАрдорд╛

mongoose.set ('useCreateIndex', рд╕рддреНрдп)

рдХреЙрдиреНрд╕реНрдЯ рдпреВрдЬрд░рд╕реНрдХреЗрдорд╛ = рдирдИ рд╕реНрдХреАрдорд╛ ({
рдЕрдХреНрд╖рдо: {рдкреНрд░рдХрд╛рд░: рдмреВрд▓рд┐рдпрди, рдбрд┐рдлрд╝реЙрд▓реНрдЯ: рдЧрд▓рдд},
рднреВрдорд┐рдХрд╛рдПрдБ: {рдкреНрд░рдХрд╛рд░: рд╕рд░рдгреА, рдбрд┐рдлрд╝реЙрд▓реНрдЯ: ['рд╕рд╣рд╛рдпрдХ']},
рдкрд╣рдЪрд╛рди: {рдкреНрд░рдХрд╛рд░: рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдЕрджреНрд╡рд┐рддреАрдп: рд╕рддреНрдп, рдЖрд╡рд╢реНрдпрдХ: рд╕рддреНрдп},
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо: {рдкреНрд░рдХрд╛рд░: рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдЕрджреНрд╡рд┐рддреАрдп: рд╕рддреНрдп, рдЖрд╡рд╢реНрдпрдХ: рд╕рддреНрдп},
рдирд╛рдо: {рдкреНрд░рдХрд╛рд░: рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдЕрдкрд░рдХреЗрд╕: рд╕рддреНрдп, рдЖрд╡рд╢реНрдпрдХ: рд╕рддреНрдп},
рдкрд╛рд╕рд╡рд░реНрдб: {рдкреНрд░рдХрд╛рд░: рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдЖрд╡рд╢реНрдпрдХ: рд╕рддреНрдп},
рдЧреБрдкреНрдд: рд╕реНрдЯреНрд░рд┐рдВрдЧ,
рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓: рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╕реНрдХреАрдорд╛,
рдкрддрд╛: рдкрддрд╛ рд╕реНрдХреАрдорд╛,
рд░рдЪрдирд╛ рддрд┐рдерд┐,
рд╕рдВрд╢реЛрдзрд┐рдд рддрд┐рдерд┐
}, {
рд╕рдВрдЧреНрд░рд╣: 'рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛'
})

userSchema.pre('save', function (рдЕрдЧрд▓рд╛) {
рдХреЙрдиреНрд╕реНрдЯ рдбреЙрдХреНрдЯрд░ = рдпрд╣
doc.created = рджрд┐рдирд╛рдВрдХ.рдЕрдм ()
doc.modified = рджрд┐рдирд╛рдВрдХ.рдЕрдм ()
doc.secret = uuidv4 ()
рдЕрдЧрд▓рд╛()
})

рдореЙрдбреНрдпреВрд▓.рдПрдХреНрд╕рдкреЛрд░реНрдЯреНрд╕ = mongoose.model('User', userSchema)

````

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

@samuelcecilio рдЖрдк рдиреЗрд╡рд▓реЗ рдХреЛ рдПрдХ рдХрд╕реНрдЯрдо рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рдкреЗрдЯ рд╕рдХрддреЗ рд╣реИрдВ, рдХреБрдЫ рдЗрд╕ рддрд░рд╣

myMongoose.js

const mongoose = require('mongoose')
mongoose.set('useCreateIndex', true);
//etc
module.exports = mongoose

рдФрд░ рдлрд┐рд░ рд╣рд░ рдЬрдЧрд╣ рдиреЗрд╡рд▓реЗ рдХреЗ рдмрдЬрд╛рдп рдЕрдкрдиреЗ рд░реИрдкрд░ const mongoose = require('myMongoose') рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЬрдм рдореИрдВ 5.2.8 рд╕реЗ рдЖрдЧреЗ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рд╢рд╛рдпрдж рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдлрд┐рд░ рднреА рдореБрдЭреЗ рд╕рднреА рдореМрдЬреВрджрд╛ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред models рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП, рдореИрдВ require ('mongoose') рдХреЛ require('myMongoose') рд╕реЗ рдмрджрд▓ рджреВрдВрдЧрд╛ред рд╡рд╣реА app.js рдФрд░ bin/www рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрдЧрд╛ред

рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ: mongoose рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдореБрдЭреЗ mongoose.set ('useCreateIndex', true) рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА рдпрд╛ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╣реЛрдЧрд╛, рдореЛрдВрдЧреЛ, рдиреЛрдб, рдЖрджрд┐ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдореБрджреНрджреЛрдВ рдХреЗ рд▓рд┐рдП ...?

рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рд╡реНрдпрд╡рд╣рд╛рд░ рд╡реИрд╕рд╛ рд╣реА рд░рд╣реЗрдЧрд╛ рдЬреИрд╕рд╛ рдЕрднреА рд╣реИ ( рд╡реЗрд░рд┐рдПрдмрд▓ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХреЗ рдЖрдВрддрд░рд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдирд╣реАрдВ ) рдиреЗрд╡рд▓реЗ рдХреЗ рдЕрдЧрд▓реЗ рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдг (рдпрд╛рдиреА 6.0.0 ) рддрдХред

рдЕрднреА рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ mongoose.set('useCreateIndex', true) рдХреЛ рдЙрди рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рд╣реИ рдЬрд┐рдирдореЗрдВ require('mongoose') рд╣реИред рдореИрдВ рдПрдХ рд░реИрдкрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ ('./myMongoose') рдпрд╛ ('./mongoose-custom') ред рддреБрдо рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реЛ?

рдХреНрдпрд╛ рдпрд╣ рд╡реИрд╢реНрд╡рд┐рдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП? рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдореБрджреНрджрд╛ рд╣реИ?

рдореЙрдбрд▓ рдШреЛрд╖рдгрд╛рдУрдВ рд╡рд╛рд▓реА рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ mongoose.set('useCreateIndex', true) рдЬреЛрдбрд╝рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рдЗрд╕реЗ connect рд╡рд┐рдХрд▓реНрдкреЛрдВ рд╕реЗ рднреА рдХрд╛рдо рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдпрд╛ рдЗрд╕реЗ рдХрдиреЗрдХреНрд╢рди рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗрдЯ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?

@samuelcecilio @bricss рд╕рд╣рдорддред рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдирд╛ред

рдЖрдкрдХреЛ рдЗрд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдЕрднреА рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА mongoose.model() рдХреЙрд▓ рд╕реЗ рдкрд╣рд▓реЗ mongoose.set('useCreateIndex', true) рдбрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдЖрдк рд╕реНрдХреАрдорд╛ рдХреЗ рд╡рд┐рдкрд░реАрдд рдореЙрдбрд▓ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд┐рдХреНрд╕ рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗред

рд╕рдВрд╕реНрдХрд░рдг 5.2.13 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдХреНрдпрд╛ рдЗрд╕рд╕реЗ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ рдмрдВрдж рд╣реЛ рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП? рдзрдиреНрдпрд╡рд╛рдж

javascript mongoose.connect(config.dbUri, { useCreateIndex: true, useNewUrlParser: true })

bash the options [useCreateIndex] is not supported server: listening on port 3000 +0ms mongo: Connected +34ms (node:18457) DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead.

@samuelcecilio useCreateIndex рдПрдХ рдХрдиреЗрдХреНрд╢рди рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рддрдХ рдЖрдк mongoose.model() (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдиреНрдп рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ) рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ $# mongoose.set('useCreateIndex', true); 1$#$ рдкрд░ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рддрдм рддрдХ mongoose.model рдкрд░ рдЖрдиреЗ рд╡рд╛рд▓реА рд╕рднреА рдХреЙрд▓реЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдЖрдирд╛ рдЪрд╛рд╣рд┐рдП рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдП mongoose.set() ред рдореИрдВрдиреЗ рдЙрдкрд░реЛрдХреНрдд рдореЗрд░реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде 5.2.13 рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдмрд┐рди/www рдлрд╝рд╛рдЗрд▓ рдореЗрдВ mongoose.set('useCreateIndex', true) рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдФрд░ рдореЗрд░реЗ рдорд╛рд░реНрдЧ рдореЗрдВ рдирд╣реАрдВ ред рдпрд╣ рдЕрдм рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдмрд╛рдж рдФрд░ рдЕрдиреНрдп рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рд╕реЗ рдкрд╣рд▓реЗ 5.2.13 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдореЗрд░реА db.js рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рд╣реИ:

// Create the database connection
mongoose.connect(encodeMongoURI(dbURI), options);
mongoose.set('useCreateIndex', true);

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЕрд▓рдЧ рд▓рд┐рдкрд┐ рдореЗрдВ рдореЗрд░рд╛ рдореЛрдВрдЧреЛ рдХрдиреЗрдХреНрд╢рди рд╣реИред рдЗрд╕ рддрд░рд╣ рдореИрдВ рд╕рд┐рд░реНрдл mongoose.set('useCreateIndex', true) рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реВрдВ; рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЛрдВрдЧреЛ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗред рдлрд┐рд░ рдЗрд╕реЗ рдореЗрд░реА рдХрд┐рд╕реА рднреА рдореЙрдбрд▓ рдШреЛрд╖рдгрд╛ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

@LucHighwalker рдХрд╛ рд╕реБрдЭрд╛рд╡ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реИред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдЖрдк рдЗрди рд╕рднреА рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ mongoose.connect() рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ рд░рдЦрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдХреЗ рдмреАрдЪ рдХреЛрдИ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЕрдВрддрд░ рд╣реИ?

mongoose.connect(encodeMongoURI(dbURI), options);
mongoose.set('useCreateIndex', true);

рддрдерд╛

mongoose.set('useCreateIndex', true);
mongoose.connect(encodeMongoURI(dbURI), options);

? рдХреНрдпреЛрдВрдХрд┐ рджреЛрдиреЛрдВ 5.2.17 . рдореЗрдВ рдареАрдХ рдХрд╛рдо рдХрд░рддреЗ рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВ

mongoose.connect(config.dbUri, { useCreateIndex: true, useNewUrlParser: true })

рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

рдареАрдХ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @ рдкреНрд░рдХрд╛рд░/рдореЛрдВрдЧреЛрд╕ рдЗрд╕рдХреЗ рдкреАрдЫреЗ рдХреБрдЫ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ (рдЕрднреА рддрдХ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)ред

mongoose.connect(url, { useNewUrlParser: true, autoIndex: false })

@Dionesio рдХреЗ рдЬрд╡рд╛рдм рдиреЗ рдореЗрд░реЗ рд╕рд╛рде рдЪрд╛рд▓ рдЪрд▓реАред рдзрдиреНрдпрд╡рд╛рдж!

mongoose.connect("mongodb://localhost:27017/test", {useNewUrlParser: true});
mongoose.set ('useCreateIndex', рд╕рдЪ);

рдЗрд╕рдиреЗ рдореЗрд░реА рд╕рднреА рдмрд╣рд┐рд╖реНрдХрд░рдг рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░ рджрд┐рдпрд╛ред

@samuelcecilio рдЗрд╕рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдореБрдЭреЗ рд░реВрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ useCreateIndex рдХреЛ рд╕рд╣реА рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдореЙрдбрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдХреНрд▓реА рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЧрдП рдЗрдВрдбреЗрдХреНрд╕ рд░реВрдЯ рдореЗрдВ useCreateIndex рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

var express = require('express');
var router = express.Router();
const mongoose = require('mongoose');
mongoose.set('useCreateIndex', true);
const Test = mongoose.model('test', { name: {type: String, unique: true }});

/* GET home page. */
router.get('/', function(req, res, next) {
  Test.create({ name: 'billy' }).then((doc) => {
    return res.status(200).json({ done: true, test: doc.id });
  }).catch((e) => {
    return res.status(500).json({ err: e });
  });
});

module.exports = router;

рдЗрдВрдбреЗрдХреНрд╕ рд░реВрдЯ рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рд╡рд┐рдХрд▓реНрдк рдХреЗ рдмрд┐рдирд╛ рдореБрдЭреЗ рдорд┐рд▓рд╛:

[nodemon] starting `node bin/www`
version: 5.2.10
(node:17042) DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead.

рдореБрдЭреЗ рдорд┐рд▓реЗ рдорд╛рд░реНрдЧ рдореЗрдВ рд╡рд┐рдХрд▓реНрдк рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж:

[nodemon] starting `node bin/www`
version: 5.2.10
^C

рдореИрдВрдиреЗ рдЗрд╕реЗ рдмрд┐рди/www рдореЗрдВ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдЙрд╕реЗ рдЪреЗрддрд╛рд╡рдиреА рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдХреЗрд╡рд▓ рдЗрд╕реЗ рдорд╛рд░реНрдЧ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реА рд╕рдлрд▓ рд░рд╣рд╛ред

рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рдХрд░реНрд▓рд┐рдВрдЧ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ

~>: curl localhost:3000/
{"done":true,"test":"5b84a4e13ec72e4352475426"}~>: 
~>: 

рдзрдиреНрдпрд╡рд╛рдж - mongoose.set ('useCreateIndex', true) рдЬреЛрдбрд╝рдирд╛; рдореЗрд░рд╛ рдореБрджреНрджрд╛ рддрдп рдХрд┐рдпрд╛

рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдкрд░ рдмрд╣рд┐рд╖реНрдХрд░рдг рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рджреЗрдЦреЗрдВ

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

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

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

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

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

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

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