2014-03-13 66 views
11

它一切正常,直到我想創建一個名爲'小鼠'的集合爲例。鼠標和鼠標都是不可接受的。如果有一個選項可以在配置中設置這個選項,會很好。 評論:謝謝你的建議,我正在使用貓鼬。有沒有辦法阻止MongoDB向集合名稱添加複數形式?

+0

你是什麼意思? MongoDB在做什麼?我從來不知道這個功能 – Sammaye

+1

也許你可以指定你正在使用的ODM,因爲它是那個添加複數名字的。通常會有一種方法來解決這個問題。 –

+2

[Mongoose - Force collection name]的可能重複(http://stackoverflow.com/questions/7486528/mongoose-force-collection-name) – WiredPrairie

回答

30

如果您將模型命名爲'mouse',Mongoose實際上會將集合名稱正確地複製到'mice'中(請參見source code)。

但你也可以明確地把它當作第三個參數model創建模型時指定您的收藏:mongoose.model的

var Mice = mongoose.model('Mice', MouseSchema, 'Mice'); 
0

API的結構是這樣的: 貓鼬#模型(名稱,[模式],[集合],[skipInit])

什麼貓鼬做的是,當沒有收集參數傳遞時,Mongoose通過複製模型名稱產生集合名稱。如果您不喜歡這種行爲,請傳遞集合名稱或設置您的模式集合名稱選項。

VAR模式=新架構({名稱:字符串},{集合: '演員'});

//或

schema.set( '集合', '演員');

//

變種集合名= '演員' 變種M = mongoose.model( '演員',模式集合名);

有關更多信息,請點擊此鏈接: http://mongoosejs.com/docs/api.html#index_Mongoose-model

相關問題