Buscar entre dos fechas en MongoDB
 
icono de búsqueda de contenidos

Buscar entre dos fechas en MongoDB

Buscar entre dos fechas en MongoDB, el equivalente en SQL a SELECT * FROM tabla WHERE campo1<=fecha AND campo2>=fecha

2 mar 2018


Tenemos una colección MongoDB llamada courses

 

Tenemos dos campos begin, end

 

Queremos encontrar los registros en los que una fecha 1 de Marzo de 2018  está entre begin y end

 

En SQL la consulta sería...   

 

SELECT * FROM courses WHERE begin <= '2018-03-01' AND end >= '2018-03-01'

 

 

La consulta en MongoDB sería así:

 

db.getCollection('courses').find({"begin":{"$lte":ISODate("2018-03-01 00:00:00.000Z")},"end":{"$gte":ISODate("2018-03-01 00:00:00.000Z")}})

 

Y puesto un poco más bonito...

 

db.getCollection('courses').find({

      "begin" : {"$lte": ISODate("2018-03-01 00:00:00.000Z")},

      "end" : {"$gte": ISODate("2018-03-01 00:00:00.000Z")}

})

 

 

 

Si además quieres hacer esta consulta desde PHP...

 

$db = 'nombreBD';

$theDate = '2018-03-01';
 
 
$resultado = $db->courses->find(
    array(
            'begin'=> array('$lte'=> new MongoDate(strtotime($theDate))), 
            'end'  => array('$gte'=> new MongoDate(strtotime($theDate)))
         ), 
    array(
            'begin' => 1, 
            'end' => 1, 
            '_id' => 0
         )
);
 

 

Temas relacionados:

mongodb

consultar entre fechas mongodb

buscar fechas mongodb

encontrar entre dos fechas mongodb

búsquedas con mongodb

consultas fechas mongo

Opiniones de este contenido

Esta web se reserva el derecho de suprimir, por cualquier razón y sin previo aviso, cualquier contenido generado en los espacios de participación en caso de que los mensajes incluyan insultos, mensajes racistas, sexistas... Tampoco se permitirán los ataques personales ni los comentarios que insistan en boicotear la labor informativa de la web, ni todos aquellos mensajes no relacionados con la noticia que se esté comentando. De no respetarse estas mínimas normas de participación este medio se verá obligado a prescindir de este foro, lamentándolo sinceramente por todos cuantos intervienen y hacen en todo momento un uso absolutamente cívico y respetuoso de la libertad de expresión.


#2

Menudo infierno el Mongo DB

ExMongoDBcólico el 20 oct 2020
Si para hacer una consulta simple como es un Between entre fechas hay hacer todo eso, imagínate queries con varios Joins, agrupaciones , subconsultas, etc.
#1

Gracias por el post

Oscar el 3 abr 2019
Me ha servido de mucha ayuda.


Tu opinión

Te recomendamos...
Aquatic World
https://press.parentesys.com/3402/
Conócete a tí mismo
https://press.parentesys.com/802/
DEMO PARENTESYS Press
https://demo.parentesys.com/
Medios Impresos
https://press.parentesys.com/59463/
MARENE
https://press.parentesys.com/733/