Database Reference
In-Depth Information
mongo/reduce_2.js
reduce = function (key, values) {
var total = 0;
for ( var i=0; i<values.length; i++) {
var data = values[i];
if ( 'total' in data) {
total += data.total;
} else {
total += data.count;
}
}
return { total : total };
}
Allerdings hat Mongo vorausgesehen, dass Sie einige abschließende Ände-
rungen vornehmen, etwa ein Feld umbenennen oder einige andere Berech-
nungen durchführen müssen. Wenn Sie das Ausgabefeld tatsächlich total
nennen müssen, können Sie eine finalize() -Funktion implementieren, die
genauso funktioniert wie die finalize -Funktion unter group() .
Was wir am zweiten Tag gelernt haben
Am zweiten Tag haben wir unser Query-Arsenal um aggregierte Queries er-
weitert: count() , distinct() und schließlich group() . Um die Antwortzeiten
dieser Queries zu beschleunigen, haben wir die Indexierungsoptionen von
MongoDB genutzt. Wenn noch mehr Leistung gefordert ist, steht das allge-
genwärtige mapReduce() zur Verfügung.
Tag 2: Selbststudium
Finden Sie heraus
1. Einen Kurzbefehl für Admin-Befehle.
2. Die Online-Dokumentation für Queries und Cursor.
3. Die MongoDB-Dokumentation für Mapreduce.
4. Untersuchen Sie über die JavaScript-Schnittstelle den Code für drei Col-
lection-Funktionen: help() , findOne() und stats() .
Machen Sie Folgendes
1. Implementieren Sie eine finalize-Methode, die „count“ als „total“ ausgibt.
2. Installieren Sie einen Mongo-Treiber für eine Sprache Ihrer Wahl und
stellen Sie damit die Verbindung zur Datenbank her. Befüllen Sie darüber
eine Collection und indexieren Sie eines der Felder.
 
Search WWH ::




Custom Search