Мне нужен эффективный способ найти все документы в коллекции, где их свойства являются подмножеством переданных свойств объекта.Эффективный способ в MongoDB найти, где свойства docments соответствуют подмножеству чужих
Пример:
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
внутри $ands
, проверяя, не было ли свойство либо не было или было равно значению, но это было медленным, а также создавали ложные срабатывания (например, документ пять (make: LG) будет возвращен).