MongoClient.connect函数返回未定义

时间:2018-12-20 11:57:47

标签: javascript node.js mongodb

我有一个node.js文件,如下所示:

var express = require('express');
var app = express();

var mongoClient = require('mongodb').MongoClient;


app.get('/',(req, res)=>{
    console.log(connectDB());
    res.send('get works');
 })


app.listen(3000,(err)=>{
if (err) {
    console.log(err);
}else{
    console.log('Connected to server @: 3000');
}
})

function connectDB(){
{
mongoClient.connect(url,{ useNewUrlParser: true },(err, client)=>{
        if(err){
            return false;      
        }else{
              return true;            
        }
    }) 
}
}

我的问题是connectDB()返回'undefined'。如果有错误,则应该返回false否则为true,但是会发送undefined。为什么会这样?

1 个答案:

答案 0 :(得分:0)

尝试一下:

(async function() {
  try {

    const client = await MongoClient.connect(uri,{ useNewUrlParser: true });
    // ... anything

    client.close();
  } catch(e) {
    console.error(e)
  }

})()