Member 13743354 Ответов: 1

Mongodb + express: typeerror: dbcollection - это не функция


Я пытаюсь следовать этому учебнику, чтобы отправить данные формы в mongodb:
Сохранение данных формы в MongoDB с помощью NodeJS · programming mentor[^]

Вот как он подключается к mongodb:
var dbConn = mongodb.MongoClient.connect('mongodb://localhost:27017');


Это то, что он делает позже в коде:
app.post('/post-feedback', function (req, res) {
    dbConn.then(function(db) {
        delete req.body._id; // for safety reasons
        db.collection('feedbacks').insertOne(req.body);
    });    
    res.send('Data received:\n' + JSON.stringify(req.body));
});


что дает следующую ошибку:
TypeError: dbcollection is not a function


Похоже, что поскольку я использую версию 3.6 mongo, мне нужно подключиться по-другому, чтобы код работал. Но как это сделать?

Что я уже пробовал:

Я пытался соединиться вот так:
var dbConn = MongoClient.connect('mongodb://localhost', function (err, client) {
  if (err) throw err;
  var db = client.db('mytestingdb');
});


Но это просто дает мне еще одну ошибку (хотя и в другой части кода):
TypeError: Cannot read property then of undefined

1 Ответов

Рейтинг:
0

Member 13931081

Эта проблема связана с версией mongodb , удалите существующий mongodb
`npm uninstall mongodb` и установите ` npm install mongodb@2.2.33 -сохранить`