Prima volta Mappa/Riduci utente qui e utilizzando MongoDB. Ho un sacco di dati sulle visite di pagina che mi piacerebbe avere un senso usando Map/Reduce. Di seguito è fondamentalmente ciò che voglio fare, ma come un principiante totale una mappa/riduzione, penso che questo sia al di sopra delle mie conoscenze!Mongo Map Riduci la prima volta
- Passare attraverso tutte le pagine con visite negli ultimi 30 giorni e dove esterno = vero.
- Poi per ogni pagina, trovare tutte le visite
- Gruppo tutte le visite in base alla località di riferimento
- Per ogni posizione di riferimento, calcolare quanti poi è andato a visitare una pagina che ha un certo "tipo" e ha anche una certa parola nei "tag".
La banca dati e la raccolta sono organizzati come documento
$mongo->dbname->visits
Un campione è:
{"url": "www.example.com", "type": "a", "refer": {"external": true, "domain": "twitter.com", "url": "http://www.twitter.com/page"}, "page": "1235", "user": "1232", "time": 1234567890}
E poi vorrei trovare documenti di tipo B con un determinato tag.
{"url": "www.example.com", "type": "b", "page": "745", "user": "1232", "time": 1234567890, "tags": {"a", "b", "c"}}
Sto usando la normale estensione Mongo PHP se questo ha un impatto.
Quale struttura di database avete? Come sono organizzate le tue collezioni e i tuoi documenti? –
Aggiunto al post precedente. Questo aiuto? – James
OK, il documento di esempio non include un campo "referral", "external" o "tags". Quello che stai suggerendo è davvero complicato, quindi probabilmente dovrai mostrarci più di un documento. E probabilmente dovrai mostrarlo con tutti i dettagli. –