这是我的架构:
1=2
3=2
7=2
我想用以下方式查询:
const Post = mongoose.model('Post', {
title: String,
authorId: String,
})
导致Post.find({ authorId: '123', someField: 1 })
,如何让mongoose忽略不在架构中的查询字段?
答案 0 :(得分:1)
有一个标记strictQuery
(https://mongoosejs.com/docs/guide.html#strictQuery)
出于向后兼容的目的,
strict
选项不适用于filter
参数进行查询。猫鼬有一个单独的strictQuery
选项,可以将filter
参数的严格模式切换为查询。
const mySchema = new Schema({ field: Number }, {
strict: true,
strictQuery: true // Turn on strict mode for query filters
});
const MyModel = mongoose.model('Test', mySchema);
// Mongoose will strip out `notInSchema: 1` because `strictQuery` is `true`
MyModel.find({ notInSchema: 1 });