我的代码有问题我在 app.js 中使用了此代码:
const mongoose = require('mongoose');
const dotenv = require('dotenv');
dotenv.config()
mongoose.connect(process.env.MONGO_URL)
.then(() => console.log("DB connected!"));
mongoose.connection.on('error',function(err){
console.log("The error is: ");
});
Run Code Online (Sandbox Code Playgroud)
环境.txt:
MONGO_URL=mongodb+srv://blur:blur@nodeapi-pfnvf8.mongodb.net/test?retryWrites=true
PORT:8080
Run Code Online (Sandbox Code Playgroud)
出于某种原因,它给了我这个奇怪的错误:
throw new MongooseError('The `uri` parameter to `openUri()` must be a ' +
^ MongooseError: The `uri` parameter to `openUri()` must be a string, got "undefined". Make sure the first parameter to `mongoose.connect()` or `mongoose.createConnection()` is a string.
at new MongooseError (C:\Users\razei\Desktop\Recat\project2\node_modules\mongoose\lib\error\mongooseError.js:14:11)
at NativeConnection.Connection.openUri (C:\Users\razei\Desktop\Recat\project2\node_modules\mongoose\lib\connection.js:465:11)
at Mongoose.connect (C:\Users\razei\Desktop\Recat\project2\node_modules\mongoose\lib\index.js:289:15)
at Object.<anonymous> (C:\Users\razei\Desktop\Recat\project2\ap.js:9:10)
at Module._compile (internal/modules/cjs/loader.js:701:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
at Module.load (internal/modules/cjs/loader.js:600:32)
at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
at Function.Module._load (internal/modules/cjs/loader.js:531:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:754:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3) [nodemon] app crashed - waiting for file changes before starting...
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我吗 我读了一些帖子,但没有一个帮助
将您的 env 文件另存为 .env 而不是 env.txt,并确保它也位于您的根文件夹中,看看是否有效!MONGO_URI 也是传统的命名约定,但这并不重要。
mongoose
.connect(process.env.MONGO_URL, {
useNewUrlParser: true,
useCreateIndex: true,
useUnifiedTopology: true
})
.then(() => {
console.log('Connected to Mongo!');
})
.catch((err) => {
console.error('Error connecting to Mongo', err);
});
Run Code Online (Sandbox Code Playgroud)
此外,您可以使用下面的行简化上面的 2 个 require 语句,并且您应该尽快调用它:
require('dotenv').config();
const mongoose = require('mongoose')
Run Code Online (Sandbox Code Playgroud)