MERN开发遇Mongoose报错useFindAndModify为无效选项如何解决
报错原因
这个错误是因为你使用的是Mongoose 6.0及以上版本,该版本已经彻底废弃了useFindAndModify、useCreateIndex、useNewUrlParser、useUnifiedTopology这几个旧版本兼容配置项:
useFindAndModify对应的功能在Mongoose 6+已经默认启用新版MongoDB驱动的实现,无需额外配置- 继续调用
mongoose.set("useFindAndModify", false)或者在connect参数里传入这些旧选项都会触发无效选项报错
解决方案
- 直接删除代码里的这一行即可:
mongoose.set("useFindAndModify", false);
- 可选优化:你当前
mongoose.connect里传入的useNewUrlParser、useUnifiedTopology两个参数在Mongoose 6+已经默认开启,不需要手动传入,可以直接删掉简化代码。 - 额外排查拼写错误:你的代码里
app.use(bedyParser.json({ limit: "30mb", extended: true }));存在拼写错误,bedyParser应该改为bodyParser,否则后续启动也会抛出未定义错误。
内容的提问来源于stack exchange,提问作者Myrat
相关产品推荐
相关产品推荐

