刚开始遵循一个教程,然而,当我试图启动我的非常基本的节点应用程序时,我得到
if (VALID_OPTIONS.indexOf(key) === -1) throw new Error(`\`${key}\` is an invalid option.`);
^
Error: `false` is an invalid option.
到目前为止,我只有最少的代码,还没有找到任何解决这个问题的方法,不明白这么少的代码会出什么问题,注解掉具有false的'usefindandmodify'不会修复它
import express from "express";
import bodyParser from "body-parser";
import mongoose from "mongoose";
import cors from "cors";
const app = express();
app.use(bodyParser.json({ limit: "30mb", extender: true }));
app.use(bodyParser.urlencoded({ limit: "30mb", extender: true }));
app.use(cors());
const CONNECTION_URL =
"mongodb+srv://<passandstuff>@cluster0.gber6.mongodb.net/myFirstDatabase?retryWrites=true&w=majority";
const PORT = process.env.PORT || 5000;
mongoose
.connect(CONNECTION_URL, {
useNewUrlParser: true,
useUnifiedTopology: true,
})
.then(() =>
app.listen(PORT, () => console.log(`server running on port: ${PORT}`))
)
.catch((error) => console.log(error.message));
mongoose.set(("useFindAndModify", false));
4条答案
按热度按时间mctunoxg1#
如果您使用mongoose 6,则不需要这些选项
Mongoose 6的行为方式始终是useNewUrlParser、useUnifiedTopology和useCreateIndex为true,而useFindAndModify为false。请从代码中删除这些选项。
https://mongoosejs.com/docs/migrating_to_6.html#no-more-deprecation-warning-options
9vw9lbht2#
从代码中删除这一行,因为当前不再使用它,所以删除后它将正常工作
vvppvyoh3#
首先,你可以像其他人说的那样删除
{ useNewUrlParser: true, useUnifiedTopology: true }
和mongoose.set(("useFindAndModify", false));
。最后,确保你已经正确设置了你的用户名和密码,并且与mongodb管理员相匹配。然后它就可以工作了!
n53p2ov04#
如果您使用的是mongoose 6或更高版本,则连接所需的唯一工具如下:
请确保已设置连接URL和端口。