2016-07-30 16 views
1

deklariert Ich versuche, "distinct" Mongoose-Betrieb zu verwenden, aber es funktioniert nicht richtig. Ich benutze Mungo 3.8.31, weil ich diese spezifische Version brauche, um einen bestimmten Mangusten-Treiber zu benutzen.Kein Wert für "distinct" wurde in Mongoose 3.8.31

Der Code, den ich verwende, antwortet mit dem Fehler Kein Wert für 'distinct' wurde deklariert.

Hier ist mein Code:

var query = {}; 

Channel.distinct(query, 'name', function (err, channels) { 
    if (err) { 
      res.send(err); 
    } else { 
      res.send(channels); 
    } 
}); 

ich nach dem deutlichen Betrieb Format von Mongoose 3.8.31, wie Link unten

http://mongoosejs.com/docs/3.8.x/docs/api.html#query_Query-distinct

Danke

Antwort

0

Die distinct signature Sie verwenden gilt für den Mungo Query dh Sie müssen die verketten Methode zu einer Abfrage: wie folgt

Channel.find().distinct('name', function (err, channels) { 
    if (err) { 
      res.send(err); 
    } else { 
      res.send(channels); 
    } 
}); 

Sie können auch die distinct Methode gerade auf das Modell anwenden:

var query = {}; 
Channel.distinct('name', query, function (err, channels) { 
    if (err) { 
      res.send(err); 
    } else { 
      res.send(channels); 
    } 
}); 
+0

Dank für Ihre Antwort danken. Ich habe mit den beiden Optionen versucht, aber ich bekomme diesen Fehler: "** TypeError: this.collection.distinct ist keine Funktion **" – gonver

+0

Irgendwelche anderen Ideen? – gonver

+0

Ist 'Channel' ein Mongoose-Modell? – chridam