mongodb mongoose中的选项无效

kx5bkwkv  于 2022-11-03  发布在  Go
关注(0)|答案(4)|浏览(240)

刚开始遵循一个教程,然而,当我试图启动我的非常基本的节点应用程序时,我得到

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));
mctunoxg

mctunoxg1#

如果您使用mongoose 6,则不需要这些选项
Mongoose 6的行为方式始终是useNewUrlParser、useUnifiedTopology和useCreateIndex为true,而useFindAndModify为false。请从代码中删除这些选项。
https://mongoosejs.com/docs/migrating_to_6.html#no-more-deprecation-warning-options

9vw9lbht

9vw9lbht2#

从代码中删除这一行,因为当前不再使用它,所以删除后它将正常工作

mongoose.set('useFindAndModify', false);
vvppvyoh

vvppvyoh3#

首先,你可以像其他人说的那样删除{ useNewUrlParser: true, useUnifiedTopology: true }mongoose.set(("useFindAndModify", false));
最后,确保你已经正确设置了你的用户名密码,并且与mongodb管理员相匹配。然后它就可以工作了!

n53p2ov0

n53p2ov04#

如果您使用的是mongoose 6或更高版本,则连接所需的唯一工具如下:

mongoose.connect(CONNECTION_URL)
.then(() => app.listen(PORT, () => console.log(`Server running on port: ${PORT}`)))
.catch((error) => console.log(error.message));

请确保已设置连接URL和端口。

相关问题