tratar de agrupar por fecha y númeromapa mongodb reducir para conseguir visitantes únicos por fecha/día
mi documento
{ "_id" : ObjectId("4f956dee76ddb26752026e8f"), "request" : "default", "options" : "1", "keyword" : "somekey", "number" : "5b234b79-4d70-437e-8eef-32a2941af40a", "date" : "20120423200446", "time" : 1335193066 }
mi consulta
map = "function() { var date = new Date(this.time * 1000); var key = date.getFullYear() + date.getMonth() + date.getDate(); emit({day : key, number: this.number}, {count: 1}); }"
reduce = "function(key, values) { var count = 0; values.forEach(function(v) { count += v['count']; }); return {count: count}; }"
db.txtweb.mapReduce(map, reduce, {out: "pageview_results"});
mi error
uncaught exception: map reduce failed:{ "errmsg" : "ns doesn't exist", "ok" : 0 }
No puedo entender cuál es wron g, pero creo que es hacer algo con la funcionalidad de fecha.
Cualquier idea.
ns no existe significa que está accediendo a una base de datos o colección no existente. Comprueba sus nombres ... Este fue el problema. Gracias – Anand
Aparece el siguiente error cuando trato de ejecutarlo en el error nodejs: MongoError: excepción: la invocación del mapa ha fallado: JS Error: ReferenceError: clon no está definido nofile_b: 1 – peter
Sí. El clon se usa para evitar la modificación del objeto de fecha original. Me salté la implementación de la función de clonación. Puede usar esto en su lugar - nueva Fecha (this.getTime()); – Anton