错误:`useFindAndModify`是一个无效的选项。

15

我是MERN技术栈的初学者,正在跟随YouTube上的教程学习。我在使用Mongoose时遇到了一个错误

Error: `useFindAndModify` is an invalid option

我找不到任何解决方案。

    import express from "express";
    import bodyParser from "body-parser";
    import mongoose from "mongoose";
    import cors from "cors";


    const app = express();
    app.use(bedyParser.json({ limit: "30mb", extended: true }));
    app.use(bodyParser.urlencoded({ limit: "30mb", extended: true }));

    app.use(cors());

    const CONNECTION_URL =
    "mongodb+srv://myratcharyyev:<password>@clustero.mn9xi.mongodb.net/myFirstDatabase?retryWrites=true&w=majority";
    const PORT = process.env.PORT || 5000;
    mongoose
    .connect(CONNECTION_URL, {
    useNewUrlParser: true,
    useUnifiedTopology: true
    // useCreateIndex: true
    })
    .then(( =>
    app.listen (PORT, () => console.log("Server running on port: ${PORT}'))
    )
    .catch((error) => console.log(error message));
    mongoose.set("useFindAndModify", false);

这个回答解决了你的问题吗?选项"useFindAndModify"不受支持 - NeNaD
不,我也尝试过那个方法,但是没有帮助。 - Myrat
你使用的 Mongoose 版本是哪个? - NeNaD
2个回答

39

它现在已经被弃用。 // 不再必要:

mongoose.set('useFindAndModify', false);

await mongoose.connect('mongodb://localhost:27017/test', {
  useNewUrlParser: true, // <-- no longer necessary
  useUnifiedTopology: true // <-- no longer necessary
});

使用这行代码。

mongoose.connect(CONNECTION_URL).then(()=>{console.log('...')})

https://mongoosejs.com/docs/migrating_to_6.html#mongoose-connect-returns-a-promise


9
你明确地使用了 .set() 来设置 useFindAndModify。请删除下面这行代码:
mongoose.set("useFindAndModify", false);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接