javascript - 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,但它发送未定义。这是为什么?
解决方案
尝试这个:
(async function() {
try {
const client = await MongoClient.connect(uri,{ useNewUrlParser: true });
// ... anything
client.close();
} catch(e) {
console.error(e)
}
})()
推荐阅读
- git - 如何在没有大量推送的情况下测试 GitHub CI?
- flutter - 从堆栈中删除页面和小部件
- java - 使用 replaceAll 的正则表达式出错
- kibana - Vega-Lite 如何获得嵌套条形图2?
- vb.net - 如何将对象添加到另一个表单?
- javascript - 如何在反应中处理条件渲染
- ssas - MDX中的简单除法
- firebase - Firestore Analytics - 一个事件中的参数值的数量是否有限制?
- compiler-construction - 使用从 CST 生成的 AST 时如何漂亮地打印源代码
- java - 在两个arraylist中找到commen对象