I am new to MERN stack and I am following MERN stack tutorial on YouTube. I got an error on Mongoose.
Error: `useFindAndModify` is an invalid option
I couldn't find any solution to that.
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);
But now 'the options [useFindAndModify] is not supported' is coming on running the app. Show activity on this post. For others who are facing this issue, useFindAnyModify is not supported if you are using mongoose version 6+. To solve this either we can remove useFindAnyModify or downgrade mongoose version to use v5+.
DeprecationWarning: Mongoose: findOneAndUpdate () and findOneAndDelete () without the useFindAndModify option set to false are deprecated. DeprecationWarning: collection.findAndModify is deprecated.
DeprecationWarning: collection.findAndModify is deprecated. Use findOneAndUpdate, findOneAndReplace or findOneAndDelete instead. But now 'the options [useFindAndModify] is not supported' is coming on running the app.
It's a deprecated now. // No longer necessary:
mongoose.set('useFindAndModify', false);
await mongoose.connect('mongodb://localhost:27017/test', {
useNewUrlParser: true, // <-- no longer necessary
useUnifiedTopology: true // <-- no longer necessary
});
use this line of code
mongoose.connect(CONNECTION_URL).then(()=>{console.log('...')})
https://mongoosejs.com/docs/migrating_to_6.html#mongoose-connect-returns-a-promise
You are explicitly setting useFindAndModify
with .set()
. Remove the line below:
mongoose.set("useFindAndModify", false);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With