2014-12-17 18 views
6

Ich habe eine virtuelle Eigenschaft in meinem Mungo-Schema, ich würde gerne wissen, ob ich meine Dokumente mit dieser Eigenschaft abfragen kann.Abfrage auf einer virtuellen Eigenschaft in Mungo

var PersonSchema = new Schema({ 
    number: {type: Number, required: true}, 
    name: {type: Date, required: true} 
}); 

PersonSchema.virtual('capitalCaseName').get(function() { 
    return this.name.toUpperCase(); 
}); 
... 
Person.find({"capitalCaseName": "DANIEL"}).exec(); 
... 
+3

Warum nicht eine Regex-Abfrage verwenden, die Groß- und Kleinschreibung nicht beachtet? –

+0

Ich machte mein Beispiel einfach zu verstehen. Das ist nicht das echte Modell – danielrvt

Antwort

10

Nein, das geht nicht. Virtuelle Mongoose-Eigenschaften existieren nur in der Mongoose-Modelldarstellung von Dokumenten, nicht in MongoDB selbst, wo die Abfrage ausgeführt wird.

Alle Felder, für die eine Abfrage erforderlich ist, müssen im Schema als nicht virtuelles Feld definiert und in der Datenbank beibehalten werden.

+2

Wäre es nicht schön, wenn es möglich wäre? – newman

+0

Und existiert eine alternative Lösung? –

Verwandte Themen