Model.find Mongoose 6.012 始终返回所有文档,即使有过滤器

Jes*_*sse 5 mongoose mongodb

我的架构示例,

const XXXSchema = new mongoose.Schema({
  name: String
}
Run Code Online (Sandbox Code Playgroud)

我使用猫鼬有一段时间了,最​​近我开始遇到这些问题。以下查询按预期工作,

await MyModel.find({_id: ObjectId(SOME NUMBER)}).exec()
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用任何其他字段查询,无论值如何,它总是返回所有文档。例如,

await MyModel.find({anotherField: "some value"}).exec()
Run Code Online (Sandbox Code Playgroud)

我尝试使用回调,但结果是一样的。有人可以帮忙吗?我使用的mongodb版本是5.0.2。谢谢。


更新:我查看了 mongoose 查询调试,发现 mongoose 忽略了我的过滤器,只发送一个空的 {} 作为过滤器。

Jes*_*sse 5

我刚刚发现由于语法错误,我的架构没有用于创建相应的模型,因此 mongoose 无法识别我用来查询的字段。