2016-07-30 63 views
1

我試圖使用'distinct'Mongoose操作,但它不能正常工作。我正在使用Mongoose 3.8.31,因爲我需要這個特定版本來使用特定的貓鼬驅動程序。Mongoose中沒有聲明'distinct'的值3.8.31

我使用的代碼迴應了錯誤'distinct'的值沒有被聲明爲

這裏是我的代碼:

var query = {}; 

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

我下面的貓鼬31年3月8日的不同操作的格式,如下面

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

鏈接謝謝

回答

0

distinct signature您正在使用適用於貓鼬Query即您需要連鎖distinct方法來查詢:

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

您也可以直接應用在模型上distinct方法如下:

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

謝謝您的回答。我已經嘗試了兩個選項,但我得到這個錯誤:「** TypeError:this.collection.distinct不是一個函數**」 – gonver

+0

任何其他的想法? – gonver

+0

是'Channel'是一個貓鼬模型嗎? – chridam