Ho uno sql:Come utilizzare il conteggio distinto in pymongo?
select field2, count(distinct field1) from table group by field2;
Come ottenere questo sql in pymongo?
Ho uno sql:Come utilizzare il conteggio distinto in pymongo?
select field2, count(distinct field1) from table group by field2;
Come ottenere questo sql in pymongo?
ho trovato questa risorsa per essere molto utile quando si lavora sul fare conversioni da SQL a Mongo SQL to Mongo Mapping Chart
In questo caso si sarebbe guardando come qualcosa di simile a:
db.users.group({key: {age: true},
initial: {count: 0},
reduce: function (obj, prev) { prev.count++;} })
Dal momento che hai una logica un po 'più complessa qui è necessario utilizzare la funzione di riduzione. Onestamente dovresti leggere un po 'di più in questo per capire esattamente cosa sta succedendo qui. Map Reduce
È possibile eseguire questo tipo di query con il driver pymongo utilizzando la funzione .group()
.
db.table.group(["field1"], {}, {"count":0},"function(o, p){p.count++}")
Questo gruppo insieme valori distinti di "field1" e incrementare un contatore per tenere traccia del numero di occorrenze di ciascuno.
Iniziare leggendo la documentazione di MongoDB. Non è possibile convertire ciecamente le istruzioni SQL in query MongoDB, né si dovrebbe aspettare che SO lo faccia per te. –