Qui sotto mostra il mio codice. Devo calcolare quante volte si è ripetuto il valore distinto. Qui ho un valore distinto in "risultati". Ho usato collection.count() per calcolare ma non funziona. per favore qualcuno mi dica dove devo sbagliare. Grazie mille .MongoDB conta un valore distinto?
var DistinctIntoSingleDB = function(Collection,arr,opt,distVal,callback){
Collection.find({}).distinct(distVal, function(err, results) {
if(!err && results){
console.log("Distinct Row Length :", results.length);
var a,arr1 = [];
for(var j=0; j<results.length; j++){
collection.count({'V6': results[j]}, function(err, count) {
console.log(count)
});
arr1.push(results[j]+ " : " +a);
}
callback(results,arr1);
}else{
console.log(err, results);
callback(results);
}
});
Il secondo '$ group' non è in realtà facendo nulla qui dal momento che è solo utilizzando lo stesso valore di' _id', così come passare attraverso lo stesso valore di uscita a '$ sum'. Anche '$ out' è stato introdotto nella stessa versione in cui l'output predefinito' .aggregate() 'è in realtà un" cursore ", quindi i problemi precedenti con un risultato in un singolo documento BSON non sono più un problema qui. Altre API oltre alla shell potrebbero essere "predefinite" per un documento BSON, ma possono essere facilmente modificate per restituire un "cursore". Devi solo usare '$ out' dove effettivamente" intendi "creare una nuova collezione per i risultati. –