Database Reference
In-Depth Information
Zuerst wollen wir aber ein kleines Experiment durchführen, um die Leis-
tungsfähigkeit von MongoDBs B-Tree-Index kennenzulernen. Dazu erzeu-
gen wir eine Reihe von Telefonnummern mit zufälligen Länderkennungen
(Sie können den Code natürlich durch Ihre eigene Länderkennung ersetzen).
Geben Sie den folgenden Code in der Console ein. Er generiert 100000 Te-
lefonnummern (was eine Weile dauern kann) zwischen 1-800-555-0000 und
1-800-565-9999 .
mongo/populate_phones.js
populatePhones = function (area,start,stop) {
for ( var i=start; i < stop; i++) {
var country = 1 + ((Math.random() * 8) << 0);
var num = (country * 1e10) + (area * 1e7) + i;
db.phones.insert({
_ id: num,
components: {
country: country,
area: area,
prefix: (i * 1e-4) << 0,
number: i
},
display: "+" + country + "" + area + "-" +i
});
}
}
Führen Sie die Funktion mit einer dreistelligen Vorwahl (wie 800) und einem
Bereich von siebenstelligen Zahlen aus (5550000 bis 5650000 - achten Sie
bei der Eingabe auf die Nullen).
populatePhones( 800, 5550000, 5650000 )
db.phones.find().limit(2)
{ " _ id" : 18005550000, "components" :{ "country" :1, "area" : 800,
"prefix" : 555, "number" : 5550000 }, "display" : "+1 800-5550000" }
{ " _ id" : 88005550001, "components" :{ "country" :8, "area" : 800,
"prefix" : 555, "number" : 5550001 }, "display" : "+8 800-5550001" }
Wenn eine neue Collection erzeugt wird, legt Mongo automatisch einen Index
über die _ id an. Diese Indizes finden Sie in der system.indexes -Collection.
Die folgende Query zeigt alle Indizes in der Datenbank:
db.system.indexes.find()
{ "name" : " _ id _ " , "ns" : "book.phones" , "key" :{ " _ id" :1}}
Die meisten Queries umfassen mehr Felder als die _ id , d. h., wir müssen
Indizes auch für diese Felder erzeugen.
 
Search WWH ::




Custom Search