2015-01-20 2 views
5

Wie bekommt man die Liste der Indizes für eine Sammlung mit Meteor?
Ähnliches (oder vielleicht basierend auf Proxys) Mongos db.collection.getIndexes
Es gibt nicht viel von einer Indizierung API in Meteor noch (es wird irgendwann eine geben); aber ich hoffe, dass jemand dieses Problem bereits
Prost gelöst hatHolen Sie sich eine Liste der Indizes der Sammlung in Meteor

+1

Sie können jederzeit Zugriff auf das zugrunde liegende nativen Treiber Objekt oder sogar grundsätzlich das 'Db' Objekt aus, dass. Kann gemacht werden. Achte darauf, aber ich lasse jemand anderen den Helden sein, wenn du es zuerst nicht selbst findest. –

+0

Sie können Indizes mit _.map Funktion erstellen, natürlich nur, wenn Sie Indizes auf der Website drucken müssen. – Sindis

+0

@NeilLunn, hört sich nach einem guten Weg zu gehen, werde ich schließlich in das schauen, vielleicht durch die Implementierung von '_ensureIndex' inspiriert werden. @Sindis, ich bin mir nicht sicher, ob wir auf der gleichen Seite sind (und ich spreche nicht von Webseiten Seiten :) Meine Frage betrifft indizierte Felder in Mongo-Sammlungen. Das Ziel besteht darin, in der Datenbank einen 'find' aufzurufen, der nur in den indizierten Schlüsseln der Sammlungen nachschlägt. Entschuldigung, wenn der Text der Frage verwirrend war. –

Antwort

3

Nach this issue Sie eine getIndexes zum Mongo Sammlung Prototyp wie folgt hinzufügen kann (Gutschrift auf @jagi):

if (Meteor.isServer) { 
    var Future = Npm.require('fibers/future'); 
    Mongo.Collection.prototype.getIndexes = function() { 
    var raw = this.rawCollection(); 
    var future = new Future(); 

    raw.indexes(function(err, indexes) { 
     if (err) { 
     future.throw(err); 
     } 

     future.return(indexes); 
    }); 

    return future.wait(); 
    }; 

    Items = new Mongo.Collection(); 
    console.log(Items.getIndexes()); 
} 

Sie auch das öffnen kann Mongo DB-Shell und greifen Sie direkt auf die Mongo DB-Sammlungen zu.

meteor mongo 
meteor:PRIMARY> db.tags.getIndexes() 
[ 
    { 
    "v" : 1, 
    "key" : { 
     "_id" : 1 
    }, 
    "name" : "_id_", 
    "ns" : "meteor.tags" 
    } 
] 
Verwandte Themen