gpt4 book ai didi

javascript - 为什么在查询中条件不匹配时数据被删除

转载 作者:行者123 更新时间:2023-12-05 03:22:40 25 4
gpt4 key购买 nike

我的 mongo 数据库中有这个模式。

const movieSchema = new mongoose.Schema({
title: String,
year: Number,
score: Number,
rating: String
})

当我试图删除年份大于 1999 的集合时,我错误地将条件设置为:

 Movie.deleteMany({yeaer: {$gte: 1999}}).then(res => {console.log(res)})

这件事发生了 This happened

我所有的数据都被删除了 Before and after deletion

最佳答案

如果您从 deleteMany() 中省略条件属性,mongoose 将从模型中删除所有文档。如果您拼错了条件语句,情况也是如此。这是一种相当危险的默认行为,但您可以通过在 mongoose 中禁用严格查询模式来保护自己:

mongoose.set('strictQuery', false)

关于javascript - 为什么在查询中条件不匹配时数据被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72667812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com