【问题标题】:`mongoose.connect()` fires error: first argument should be String, received`mongoose.connect()` 引发错误:第一个参数应该是字符串,已接收
【发布时间】:2021-09-13 10:17:27
【问题描述】:

throw new MongooseError('uri 参数必须是openUri() 一个'+ ^

MongooseError:openUri()uri 参数必须是字符串, 得到“未定义”。使 sur mongoose.connect()mongoose.createConnection() 的第一个参数是一个字符串。 在 NativeConnection.Connection.openUri (C:\Users\niko\Desktop\opaa\node_modules\mongoose\nnection.js:694:11) 在 _mongoose._promiseOrCallback.cb (C:\Users\niko\Desktop\opaa\node_modules\mongoose\lib\js:351:10) 在 promiseOrCallback (C:\Users\niko\Desktop\opaa\node_modules\mongoose\lib\helpers\promislback.js:10:12) 在 Mongoose._promiseOrCallback (C:\Users\niko\Desktop\opaa\node_modules\mongoose\lib\inde at 猫鼬连接 (C:\Users\niko\Desktop\opaa\node_modules\mongoose\lib\index.js:350:20) 在对象。 (C:\Users\niko\Desktop\opaa\app.js:9:10) 在 Module._compile (internal/modules/cjs/loader.js:778:30) 在 Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) 在 Module.load (internal/modules/cjs/loader.js:653:32) 在 tryModuleLoad (internal/modules/cjs/loader.js:593:12) 在 Function.Module._load (internal/modules/cjs/loader.js:585:3) 在 Function.Module.runMain (internal/modules/cjs/loader.js:831:12) 启动时(内部/bootstrap/node.js:283:19) 在 bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)

const { response } = require('express');
const express = require('express');
const path = require('path');
const dotenv = require('dotenv')
const mongoose = require('mongoose');

dotenv.config();

mongoose.connect( process.env.DB_CONNECT,  { useNewUrlParser: true }, () =>{
    console.log("connected to db");
});

const route = require('./routers/routers');
const { connect } = require('./routers/routers');

const app = express();

app.use(express.urlencoded({ extended: false }));
app.use(express.json());

app.set("views", "views")
app.set("view engine", "hbs")

app.use(express.static('public'));

app.use('/user', route);

app.listen(3000, () => console.log("Server Is Runing on localhost:3000"));

【问题讨论】:

    标签: node.js mongoose


    【解决方案1】:

    您可以尝试确保您已通过DB_CONNECT

    你可以试试DB_CONNECT=YOUR_DB_URI node index.js

    另外,您可以在脚本开头使用console.log(process.env.DB_CONNECT) 进行检查。

    【讨论】:

      【解决方案2】:

      错误消息告诉mongoose.connect接收的URL是undefined。我建议您改为 process.env.DB_CONNECT 尝试将 URL 传递给数据库以进行测试,看看是否可行。

      问题在于process.env.DB_CONNECT 设置不正确,您可能需要检查dotenv 配置。

      【讨论】:

        猜你喜欢
        • 2019-01-17
        • 2023-01-20
        • 1970-01-01
        • 1970-01-01
        • 2023-03-31
        • 2016-10-03
        • 1970-01-01
        • 2021-06-30
        • 2018-04-16
        相关资源
        最近更新 更多