我需要一种有效的方法来查找集合中的所有文档,其中它们的属性是传入对象属性的子集。
例子:
PassedObject: {
name: "Joe",
age: 55,
sex: "male"
}
collection: [
one: {
age: 55
},
two: {
sex: "male",
age: 18
},
three: {
sex: "male",
age: 55
},
four: {
sex: "female",
age: 22
},
five: {
make: "LG",
model: "24EN43"
}
]
匹配的记录将是一和三。我想出了一种使用$ors
inside of的方法来执行此操作$ands
,检查属性是否不存在或等于该值,但这很慢,并且还会产生误报(例如,文档五(make:LG)会被退回)。