Sto avviando un progetto utilizzando Cloudant. È un sistema semplice per la registrazione, quindi posso monitorare l'utilizzo delle mie app.Seleziona numero distinto cloudant/couchdb
miei documenti assomiglia a questo:
{
app: 'nome dell'app',
tipo: 'visualizzazione della pagina | login | ecc. ',
proprietario:' email_of_the_user ',
dispositivo:' iphone | android | ecc .. ',
Data: 'aaaa-mm-dd'
}
ho provato a fare un po' mappa riduzione e ricerche sfaccettati, ma non ho trovato finora il risultato per quello che voglio.
Desidero contare il numero di documenti distinti raggruppati dallo stesso proprietario, data (aaaa-mm-gg) e app.
[Ad esempio, se uno stesso utente accede all'app due volte o 20 volte nella stessa data, verrà conteggiata una sola volta. Voglio contare quanti singoli utenti hanno utilizzato un'app ogni giorno, indipendentemente dal tipo di registro o dal dispositivo utilizzato.]
Se si trattava di SQL, presupponendo che ogni chiave del documento sia una colonna , vorrei interrogare qualcosa di simile:
SELEZIONA app, la data, COUNT (*) FROM gruppo REGISTRI per data, il proprietario, app
formica il risultato sarebbe qualcosa di simile:
'App1', "2015-06-01", 200
"App1", "2015-06-02", 232
'App2', '2015/06/01', 142
'App2', '2015/06/02', 120
Come posso ottenere lo stesso risultato utilizzando Cloudant/CouchDB?
Ho provato questo. Il problema è che i duplicati vengono contati. snapit [email protected] login iphone 2015-06-29 snapit [email protected] foto iphone 2015-06-29 snapit [email protected] login iphone 2015-06-29 snapit [email protected] accesso iphone 2015-06-30 snapit [email protected] login android 2015-06-29 snapit [email protected] login android 2015-06-30 snapit [email protected] login android 2015-06-30 Questo dovrebbe restituire 2015-06-29 - 2 (due registri singoli per ciascun utente in quel giorno) 2015-06-30 - 3 (tre ..) Ma sto ricevendo: 2015-06-29 -4 2015-06-30 - 3 –
Hai provato ad aggiungere più campi alla chiave emessa, questo aiuta con la rimozione di duplicati ... ad esempio prova questo –