У меня есть прецедент, в котором мой запрос нужно найти на основе 3 необязательных полей, а один из них - в виде коллекции.
«3 дополнительных полей» часть уже решена этот пост Spring Data MongoDB AND/OR query with multiple optional parameters
Однако я Runnig в вопросе с $in
для сбора поданной.
Например, в следующем запросе
{ $and :
[{
$and:
[
{$or : [ { $where: '?0 == null' } , { a : ?0 }]},
{$or : [ { $where: '?1 == null' } , { b : ?1 }]},
{$or : [ { $where: '?2 == null' } , { c : ?2 }]}
]
}]
}
В моем случае поле a
фактически проходит в виде коллекции, мне нужно, чтобы найти те объекты в MongoDB с поданной a
является $in
коллекцией я прошел в.
Я пытался что-то вроде этого
{ $and :
[{
$and:
[
{$or : [ { $where: '?0 == null' } , { a : { $in : ?0 }}]},
{$or : [ { $where: '?1 == null' } , { b : ?1 }]},
{$or : [ { $where: '?2 == null' } , { c : ?2 }]}
]
}]
}
Однако я NPE для этого КН ru Я перехожу в коллекцию null
.