2014-11-04 90 views
0

上的貓鼬讀了它看來,如果我宣佈一個貓鼬模型是這樣的:貓鼬複數規則不工作

var User = mongoose.model('user', userSchema) 

然後貓鼬將創建一個名爲「用戶」集合(與「S」)。

但是,我已經在mongo中手動創建了一個名爲「Regions」的集合。當我嘗試宣告我的貓鼬模型,它看起來像這樣:

var Region = mongoose.model('Region', regionSchema) 

但是當我嘗試返回使用Region.find()的所有對象,返回結果爲零。 所以我然後嘗試:

var Region = mongoose.model('Regions', regionSchema) 

而且這也返回零結果。

最後,我不得不這樣做:

var Region = mongoose.model('Region', regionSchema, 'Results') 

如果貓鼬有複數規則,我怎麼就還需要集合名稱中傳遞,以便爲它找到的數據?

回答

1

這是因爲貓鼬都將模型名稱複數化並將其轉換爲小寫。所以模型名稱爲'Region'它正在尋找regions集合。

所以你需要在model呼叫提供一個明確的集合名稱(如您展示),但與'Regions'集合名稱:

var Region = mongoose.model('Region', regionSchema, 'Regions') 
+0

黨!感謝您的信息:o) – 2014-11-04 16:54:39