In MongoDB Vorrei trovare un documento basato sui valori di un documento secondario che soddisfa determinati parametri. In particolare ho un documento strutturato in questo modo:MongoDB: Trova documento secondario nei parametri di corrispondenza dell'array
{
name: "test",
data: [{
name: "test1",
start: 0,
end: 2
},
{
name: "test2",
start: 15
end: 18
}]
}
Come posso dire MongoDB per restituire solo il mio documento se l'ora di inizio di un documento secondario di dati è inferiore a 5 e l'ora di fine per lo stesso documento secondario è superiore a 5 ? Attualmente, se faccio
db.foo.findOne({
'data.start': { $lte: 5 },
'data.end': { $gte: 5 }
})
verrà restituito il mio documento sempre perché 5 è maggiore di 0 e meno di 18. Come posso dire MongoDB per restituire solo il mio documento se 5 (o qualsiasi valore) è maggiore di 0 e inferiore a 2 OR maggiore di 15 e inferiore a 18?
impressionante che è esattamente quello che mi serviva, grazie! –