javascript - MongDB 数据库不是在 Visual Studio 中创建的
问题描述
未创建数据库
这是我的错误报告
state.db 不是函数 TypeError: state.db is not a function at Object.module.exports.get (C:\Users\sainupangad\Desktop\newproject\config\connection.js:28:18) at Object.addProduct (C:\Users\sainupangad\Desktop\newproject\helpers\product-helpers.js:8:12) 在 C:\Users\sainupangad\Desktop\newproject\routes\admin.js:51:17 在 Layer.handle [作为 handle_request] (C:\Users\sainupangad\Desktop\newproject\node_modules\express\lib\router\layer.js:95:5) 在下一个 (C:\Users\sainupangad\Desktop\newproject\node_modules\express\lib \router\route.js:137:13) 在 Route.dispatch (C:\Users\sainupangad\Desktop\newproject\node_modules\express\lib\router\route.js:112:3) 在 Layer.handle [as handle_request ] (C:\Users\sainupangad\Desktop\newproject\node_modules\express\lib\router\layer.js:95:5) 在 C:\Users\sainupangad\Desktop\newproject\node_modules\express\lib\router\index .js:281:22 在 Function.process_params (C:\Users\sainupangad\Desktop\newproject\node_modules\express\lib\router\index.js:335:12) 在下一个 (C:\Users\sainupangad\Desktop\newproject\node_modules \express\lib\router\index.js:275:10)
这是我的代码
var MongoClient = require('mongodb').MongoClient;
const state = { db: null }
module.exports.connect = function (done) {
const url = 'mongodb://localhost:27017'
const dbname = 'shoping'
MongoClient.connect(url, (err, data) => {
if (err) return done(err)
state.db = data.db(dbname)
done()
})
}
module.exports.get = function () {
return state.db()
}
解决方案
如果我们看一下您导出的 get 函数:
module.exports.get = function () {
return state.db()
}
您正在调用 state.db,但正如我们在您的 connect 函数中看到的那样,您已经构建了 db 实例,因此您无需再次调用构造函数。
应该解决您的问题的方法正在更改state.db()
为state.db
推荐阅读
- spring-boot - Spring Boot微服务架构查找服务实例数
- python - ModuleNotFoundError:没有名为“ntlk”的模块
- javascript - Socket.io 客户端未收到事件
- c# - 如何缩短大型 if-else 场景?
- javascript - 用户界面网格;遍历对象
- spring-boot - 了解 spring-security 上的 requestMatchers()
- cmake - 'LoadFile' 不是 YAML 的成员
- botframework - 如何使用 Cosmos DB 模拟器在 Bot Framework 中关闭 SSL 验证
- android - 没有浏览器警告的有效 https 连接到本地网络中的服务器
- c# - 如何正确地将 DateTime 转换为特定的 TimeZone?