Voglio interrogare una raccolta e ottenere documenti che sono stati creati meno di 3 ore fa.Come interrogare in base al tempo in MongoDB con PHP?
$realtime = date("Y-m-d H:i:s");
$mongotime = New Mongodate(strtotime($realtime));
$mongotime = $mongotime - 3 hours; //PSEUDOCODE
$some_condition = array('time' => array('$lt'=>$mongotime));
$result = $db->collection->find($some_condition);
C'è un modo efficace per mettere
$ some_condition
parte senza l'utilizzo di IF in PHP?
Non vedo alcuna istruzione if nel codice ... è davvero questo il tuo codice? – dcrosta
Penso che tu abbia sbagliato l'ordine della tua condizione. '$ lt' legge da sinistra a destra, quindi vuoi l'equivalente PHP di' {time: {$ lt: mongotime}} ', che sarebbe' array ('time' => array ('$ lt' => $ mongotime)) ' – dcrosta
@drcosta no questo è solo uno pseudocodice che sto cercando di fare. Invece di usare Trova(), ottenere valore dal risultato della query e determinare la condizione in base a quel valore, voglio ottenere immediatamente risultati di qualifica senza utilizzare alcuna istruzione If in PHP. – InspiredJW