MongoDB / py-mongo para las consultas con las funciones de fecha
Pregunta
Im que busca utilizar una base de datos de documentos tales como MongoDB, pero mirando a través de los documentos no puedo encontrar tanto en las consultas que implican funciones de fecha. Por ejemplo digamos que estoy pidiendo una de las siguientes preguntas de la base de datos:
- "Dime todas las personas que han comprado un producto en Martes"
- "Dame todas las ventas y grupo por mes"
Son preguntas al azar, pero esencialmente que podría ser cualquier cosa que tenga funciones de fecha. ¿Tiene usted alguna idea de cómo iba a ir sobre esto?
Gracias, Chris.
Solución
En la primera consulta la mejor opción sería hacer una consulta rango de fechas entre el inicio y el final del martes. Algo así como:
db.foo.find({"purchase_date": {"$gt": monday_midnight, "$lte": tuesday_midnight}})
Esto será más agradable sintácticamente cuando se termina el caso siguiente, por lo que podría querer votar por ella: http://jira.mongodb.org/browse/SERVER-465
Para el segundo es probable que desee comprobar hacia fuera cualquiera de los métodos de grupo o de map_reduce PyMongo, cualquiera de los cuales puede lograr la agregación de esa manera.