javascript - 无法读取未定义的属性“db”
问题描述
芒果数据库连接:
let express = require('express');
let mongodb = require('mongodb');
let app = express();
let db;
let connectionString = "mongodb+srv://todoAppUser:<password>@cluster0.qooyl.mongodb.net/todoApp?retryWrites=true&w=majority";
mongodb.connect(connectionString, {useNewUrlParser: true}, function(err, client){
db = client.db();
// console.log(db);
app.listen(3000);
});
app.use(express.urlencoded({extended: false}));
HTML 模板:
app.get('/', function(req, res) {
res.send(`<!DOCTYPE html>
<div class="jumbotron p-3 shadow-sm">
<form method="post" action="/create-item">
<div class="d-flex align-items-center">
<input name="item" autofocus autocomplete="off" class="form-control mr-3" type="text" style="flex: 1;">
<button class="btn btn-primary">Add New Item</button>
</div>
</form>
</div>
</html>`);
});
提交表单后 Post 方法:
app.post('/create-item', function(req, res) {
db.collection('items').insertOne({text: req.body.item}, function() {
res.send("Form Submitted");
});
});
我使用 nodemon 作为服务器,同时保存文件面临错误,无法读取 'db' 未定义的属性
请帮忙解决这个问题..
解决方案
推荐阅读
- babeljs - 是否可以让 babel-polyfill 发出警告/错误而不是生成样板代码?
- java - 使用内存数据库和模拟测试 DAO 和服务层
- reactjs - 在我的应用程序中,POST 方法在 axios 中不起作用
- angular - Angular 5 转换 Observable
对象 - arrays - 将数字从 dec 转换为 hex 并反转并将值分配给 char 数组的索引
- node.js - Express API 服务器阻塞
- kubernetes - 就绪探测失败:获取 http://10.32.1.71:80/setting s:net/http:请求已取消(等待标头时超出 Client.Timeout)
- python - 芹菜任务设置与视频帧的内存缓存作为python中的循环缓冲区策略
- python - 使用 map() 函数优化速度
- javascript - 访问 NgClass 中的 HTML 元素值