开发者问题收集

MongoDB Atlas 中出现错误“无法读取未定义的属性”

2023-08-16
154

所以我是 MERN Stack 的新手,我正在尝试构建一个预订应用程序,其中我使用 MongoDB Atlas 作为我的数据库。我正在按照 YouTube 教程进行学习。

我正在尝试将我的 index.js 文件连接到 .env 文件。我已使用 mongodb atlas 中的连接字符串进行连接,但我一直收到此错误。

TypeError:无法读取未定义的属性(读取“MONGO_URL”) at Object。 (C:\Users\Rashmika Satish\airbnbclone\api\index.js:20:29)
位于 Module._compile (node:internal/modules/cjs/loader:1254:14) 位于 Module._extensions..js (node:internal/modules/cjs/loader:1308:10) 位于 Module.load (node:internal/modules/cjs/loader:1117:32) 位于 Module._load (node:internal/modules/cjs/loader:958:12) 位于 Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) 位于 node:internal/main/run_main_module:23:47

这些是相应的文件:

index.js文件:

const express= require('express');
const cors = require('cors');
const mongoose = require('mongoose');
const bcrypt=require('bcryptjs');
const User=require('./models/User.js');
require('dotenv').config();

const app=express();

const bcryptSalt=bcrypt.genSalt(10);

app.use(express.json());
app.use(cors({ 
      credentials:true,
      origin:'http://localhost:5173',
}))


console.log(process.env)
mongoose.connect(process.ev.MONGO_URL);

app.get('/test', (req,res)=> {
res.json('test ok');
});

app.post('/register', (req,res)=>{
    const {name,email,password}=req.body;
res.json({name,email,password});


   
    
    
});


app.listen(4000);

这是 .env 文件

MONGO_URL=mongodb+srv://*********:<password>@cluster0.1isyt6d.mongodb.net/?retryWrites=true&w=majority

(故意隐藏了用户名和密码)

2个回答

更改:

mongoose.connect(process.ev.MONGO_URL);

为:

mongoose.connect(process.env.MONGO_URL);
cantdocpp
2023-08-16

第 20 行似乎存在语法错误, process.ev.MONGO_URL 应为 process.env.MONGO_URL

vmank
2023-08-16