2016-07-12 8 views
2

Ich habe eine riesige Zeitreihe Sammlung auf Mongodb mit sails.js und Wasserlinie.Waterline Wie man Rückwärtsindex macht

Ich habe herausgefunden, dass wenn ich meinen Index umkehren, verbessert es meine Abfragezeiten in 40%.

Ist es möglich, einen umgekehrten Index für mein Modell zu implementieren? Oder wenn es nicht ist. Gibt es eine Workaround, dass ich diese Segel oder Grunzen für mich verwenden kann, wenn Waterline meine Modelle baut?

"Ein Dokument, das die Feld- und Wertepaare enthält, wobei das Feld der Indexschlüssel ist und der Wert den Typ des Index für dieses Feld beschreibt. Geben Sie für einen aufsteigenden Index für ein Feld den Wert 1 an , geben Sie einen Wert von -1 an. "

Dokumentation für den Index auf mongodb Webseite: Mongodb: Create Index

Antwort

1

Sie sails-hook-mongoat Paket verwenden können erweiterte Mongo Indizierungsoptionen für Ihre Segel-Modelle hinzuzufügen.

Die Benutzung ist sehr einfach:

// api/models/MyModel.js 
module.exports = { 
    attributes: { 
    myDate: { 
     type: 'date', 
     required: true 
    } 
    }, 
    indexes: [ 
    { 
     attributes: { 
     myDate: -1 
     } 
    } 
    ] 
}; 

Sie auch Mongo Index Options verwenden können:

// [...] 
    indexes: [ 
    { 
     attributes: { 
     myDate: -1 
     }, 
     options: { 
     unique: true 
     expireAfterSeconds: 60 
     } 
    } 
    ] 
    // [...]