W MongoDB Chciałbym znaleźć dokument na podstawie wartości poddokumentu spełniającego określone parametry. Konkretnie mam dokument skonstruowany tak:MongoDB: Znajdź podjednostkę w Array Matching Parameters
{
name: "test",
data: [{
name: "test1",
start: 0,
end: 2
},
{
name: "test2",
start: 15
end: 18
}]
}
Jak mogę powiedzieć MongoDB tylko powrót mojego dokumentu, jeżeli czas rozpoczęcia na dokument podrzędny danych jest mniejsza niż 5, a czas zakończenia w tym samym dokument podrzędny jest większa niż 5 ? Obecnie, jeśli robię
db.foo.findOne({
'data.start': { $lte: 5 },
'data.end': { $gte: 5 }
})
powróci mój dokument zawsze ponieważ 5 jest większe niż 0 i mniej niż 18. Jak mogę sprawdzić, MongoDB, aby tylko wrócić mojego dokumentu, jeśli 5 (lub niezależnie od wartości) jest większa niż 0 i mniej niż 2 OR większe niż 15 i mniejsze niż 18?
Niesamowite to jest dokładnie to, co potrzebne, dzięki! –