MongoDB / py-Mongo per le query con funzioni di data
Domanda
Im che cerca di utilizzare un database di documenti come ad esempio MongoDB, ma guardando attraverso i documenti non posso trovare molto sulla query che coinvolgono funzioni di data. Per esempio consente di dire che sto chiedendo una delle seguenti domande del DB:
- "Dimmi tutte le persone che hanno acquistato un prodotto su martedì"
- "Get me tutte le vendite e di gruppo per mese"
Sono domande casuali ma essenzialmente potrebbero essere tutto ciò che ha funzioni di data. Ti hanno alcuna idea di come vorrei andare su questo?
Grazie, Chris.
Soluzione
Per la prima query la cosa migliore sarebbe quella di fare una query range per le date in tra l'inizio e la fine di martedì. Qualcosa di simile:
db.foo.find({"purchase_date": {"$gt": monday_midnight, "$lte": tuesday_midnight}})
Questo sarà più bello sintatticamente quando il seguente caso è finito, quindi potrebbe voler votare a favore: http://jira.mongodb.org/browse/SERVER-465
Per la seconda probabilmente si vorrà di controllare entrambi i gruppi o map_reduce metodi di PyMongo, ciascuno dei quali in grado di realizzare l'aggregazione del genere.