connect(url[, options], callback)
// Запуск сервера
MongoClient.connect('mongodb://localhost:27017/alldatabase', function(err, database) {
useUnifiedTopology: true; // <---????
useNewUrlParser: true; // <---???? неправильно опции установлены
...
// Запуск сервера
MongoClient.connect(
'mongodb://localhost:27017/alldatabase', // строка подключения
{
useUnifiedTopology: true, // установка опций
useNewUrlParser: true
},
function(err, database) { // callback
if (err) {
return console.log(err);
}
// Ссылка на бд
db = database;
app.listen(3000, function() {
console.log('Подключение');
});
});
const classNames = require('classnames');
const box = props => {
const inputClass = classNames('deff', {
metal: props.name,
energ: !props.name
});
return <input className={inputClass} />;
}
value={JSON.stringify(employee)}
фактически у вас там содержится строка (String). div className="form-group">
<Field component={"select"} className="form-control" name="employee" aria-describedby="employeeHelp">
<option />
{this.props.employees.map(employee => {
if (employee) {
return (
<option key={employee.id} value={JSON.stringify(employee)}>{employee.fullName}</option>
);
}
else return null;
})}
</Field>
<small className="form-text text-muted" id="employeeHelp">Сотрудник</small>
</div>
parser
в options. Скорее всего это должно сработать <option key={employee.id} value={JSON.stringify(employee)} parse={(val, name)=>JSON.parse(val)}>{employee.fullName}</option>
value={employee.id}
и поиск фактического значения в this.props.employees.find(e=>e.id === employee)
перед отправкой формы. const key =null;
const onChange =e => { // обработчик изменения поля ввода
const value = e.target.value;
clearTimeout(key); // отменить выполнения предыдущего запроса
if(value.length < 4) // если длинна менее 4 не отправлять запрос
return;
// отправка запроса с задержкой
key=setTimeout(()=>fetch(url+ value).then(res=>{
// здесь обработка ответа сервера
}), 2000) // 2 сек задержка
}