【问题标题】:Make sure the first parameter to `mongoose.connect()` is a string确保 `mongoose.connect()` 的第一个参数是一个字符串
【发布时间】:2023-01-20 07:54:45
【问题描述】:

我正在尝试将 MongoDB Atlas 连接到我的应用程序,并在尝试运行位于数据库.js(问题中的最后一个代码)。进程.env.MONGO_URI似乎被解释为未定义而非字符串,出现以下错误:“MongooseError:openUri()uri 参数必须是字符串,得到“未定义”。确保mongoose.connect()mongoose.createConnection() 的第一个参数是一个字符串。”

这是我的配置环境,我在其中复制粘贴了 Atlas 中的 MONGO_URI。

MONGO_URI = mongodb+srv://kpae:XXXX@practice.xujsvaf.mongodb.net/?retryWrites=true&w=majority

这是应用程序.js,我相信我在那里设置了运行程序的基础知识。

const express = require('express')
const dotenv = require('dotenv')
const connectDB = require('./config/db')

dotenv.config({ path: '.config/config.env' })

connectDB()

const app = express()


const PORT = process.env.PORT || 5000

app.listen(
    PORT, 
    console.log(`Server running in ${process.env.NODE_ENV} mode on port ${PORT}`)
)

这是数据库.js

const mongoose = require('mongoose')

const connectDB = async () => {
    try {
        const conn = await mongoose.connect(process.env.MONGO_URI, {
            useNewUrlParser: true,
            useUnifiedTopology: true,
            useFindAndModify: false
        })

        console.log(`MongoDB Connected: ${conn.connection.host}`)
    } catch (err) {
        //console.log('this is an error')
        console.error(err)
        process.exit(1)
    }
}


module.exports = connectDB

我无法确定我的代码中的错误所在,因为我的文件似乎在根文件夹中,而 MONGO_URI 看起来像一个字符串。任何帮助表示赞赏。

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:

    你能在你的 env 文件中像这样尝试一次吗?

    MONGO_URI='mongodb+srv://kpae:XXXX@practice.xujsvaf.mongodb.net/?retryWrites=true&w=majority'
    

    【讨论】:

    • 我已经试过单引号但还是不行。不过,谢谢你。
    【解决方案2】:

    截至我遇到这个问题时“mongoose”:“^6.8.4”

    你可以尝试在这个区域添加一个

    const conn = await `mongoose.connect(process.env.MONGO_URI, {
                useNewUrlParser: true,
                useUnifiedTopology: true,
                useFindAndModify: false
            })`
    

    【讨论】:

      猜你喜欢
      • 2023-03-31
      • 1970-01-01
      • 2019-01-17
      • 2021-09-13
      • 2023-03-10
      • 1970-01-01
      • 2018-08-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多