TypeError:无法读取属性“集合”[重复]
Posted
技术标签:
【中文标题】TypeError:无法读取属性“集合”[重复]【英文标题】:TypeError: Cannot read property 'collection' [duplicate] 【发布时间】:2021-09-18 14:40:38 【问题描述】:TypeError:无法读取未定义的属性“集合” 在 app.post (/home/niko/Desktop/opa/app.js:17:38) 在 Layer.handle [as handle_request] (/home/niko/Desktop/opa/node_modules/express/lib/router/layer.js:95:5) 在下一个(/home/niko/Desktop/opa/node_modules/express/lib/router/route.js:137:13) 在 Route.dispatch (/home/niko/Desktop/opa/node_modules/express/lib/router/route.js:112:3) 在 Layer.handle [as handle_request] (/home/niko/Desktop/opa/node_modules/express/lib/router/layer.js:95:5) 在/home/niko/Desktop/opa/node_modules/express/lib/router/index.js:281:22 在 Function.process_params (/home/niko/Desktop/opa/node_modules/express/lib/router/index.js:335:12) 在下一个(/home/niko/Desktop/opa/node_modules/express/lib/router/index.js:275:10) 在 expressInit (/home/niko/Desktop/opa/node_modules/express/lib/middleware/init.js:40:5) 在 Layer.handle [as handle_request] (/home/niko/Desktop/opa/node_modules/express/lib/router/layer.js:95:5)
【问题讨论】:
"让分贝;" ;db
不指向 MongoDB 连接。创建与 MongoDB 的连接并稍后使用。
***.com/questions/10656574
【参考方案1】:
你已经从 mongodb 连接创建了客户端。所以,你必须像这样使用客户端而不是数据库:
app.post('/', async (req, res, next) =>
const dataJson = req.body;
try
const createdUser = await client.collection("users").insertOne(dataJson);
res.json(createdUser);
console.log(createdUser);
catch(err)
console.log(err);
res.json(err);
);
欲了解更多信息,请访问: https://docs.mongodb.com/drivers/node/fundamentals/connection/
【讨论】:
【参考方案2】:断章取意,但您不应该将您的 Mongo Connection Uri(mongodb+srv://Niko:@cluster0.k8ckw.mongodb.net/myFirstDatabase?retryWrites=true&w=majority) 公开。我试过了,它有效。使用 dotenv 保护您的秘密
【讨论】:
以上是关于TypeError:无法读取属性“集合”[重复]的主要内容,如果未能解决你的问题,请参考以下文章
TypeError:无法读取未定义的属性(读取“集合”)-Vuejs 和 Firebase
TypeError:无法读取未定义()离子3的属性'toastController' [重复]
TypeError:无法读取未定义反应redux的属性“历史”[重复]
javascript Uncaught TypeError:无法读取null的属性'firstChild'[重复]
(节点:1984)UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性“电子邮件”[重复]