首页 > 解决方案 > MongoClient.connect 函数返回未定义

问题描述

我有一个 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() 正在返回“未定义”。如果有错误,那么它应该返回 false,否则返回 true,但它发送未定义。这是为什么?

标签: javascriptnode.jsmongodb

解决方案


尝试这个:

(async function() {
  try {

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

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

})()


推荐阅读