Primera vez Mapa/Reducir usuario aquí, y utilizando MongoDB. Tengo una gran cantidad de datos de visitas a la página que me gustaría tener un poco de sentido mediante el uso de Map/Reduce. Debajo está básicamente lo que quiero hacer, pero como principiante total, un Mapa/Reducir, ¡creo que está por encima de mi conocimiento!Mongo Map Reducir por primera vez
- Revise todas las páginas con visitas en los últimos 30 días, y donde external = true.
- Luego, para cada página, encontrará todas las visitas
- Grupo todas las visitas de ubicación de referencia
- Para cada lugar de referencia, calcular cuántos luego fue a visitar una página que tiene un cierto "tipo" y también tiene una cierta palabra en las "etiquetas".
La base de datos y recogida están organizadas como documento
$mongo->dbname->visits
Una muestra es:
{"url": "www.example.com", "type": "a", "refer": {"external": true, "domain": "twitter.com", "url": "http://www.twitter.com/page"}, "page": "1235", "user": "1232", "time": 1234567890}
Y entonces quiero encontrar documentos de tipo B con una determinada etiqueta.
{"url": "www.example.com", "type": "b", "page": "745", "user": "1232", "time": 1234567890, "tags": {"a", "b", "c"}}
Estoy usando la extensión normal de Mongo PHP si eso tiene un impacto.
¿Qué estructura de base de datos tiene usted? ¿Cómo se organizan sus colecciones y documentos? –
Agregado a la publicación anterior. ¿Que ayuda? – James
OK, su documento de muestra no incluye un campo de "referencia" y un campo "externo" o "etiquetas". Lo que sugiere es realmente complicado, por lo que probablemente necesite mostrarnos más de un documento. Y probablemente deba mostrarlo con todos los detalles. –