类型错误:无法读取属性“集合”

时间:2021-07-08 06:08:02

标签: node.js mongodb express

类型错误:无法读取未定义的属性“集合” 在 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)

2 个答案:

答案 0 :(得分: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/

答案 1 :(得分:0)

断章取义,但您不应该将您的 Mongo 连接 Uri( mongodb+srv://Niko:@cluster0.k8ckw.mongodb.net/myFirstDatabase?retryWrites=true&w=majority) 公开。我试过了,它有效。使用 dotenv 保护您的机密