2016-10-17 159 views
2

聲明集合名稱和型號名稱我有3種記錄,如何貓鼬

1)Categories, 
2)Topics and 
3)Articles 

在我的MongoDB中,我有一個名爲「類別」只有1保藏在我Stroe的上述3種類型的文件。

對於這些3個模塊,我寫3個模型(各一個)在象下面這樣的方式,

mongoose.model('categories', CategorySchema); 
mongoose.model('categories', TopicSchema) 
mongoose.model('categories', ArticlesSchema) 

像.... mongoose.model( '集合名稱',SCHEMA_NAME)

但是當我運行我的代碼,它會引發錯誤

Cannot overwrite `categories` model once compiled. 

如果我改變上述模型是這樣,

mongoose.model('category','categories', CategorySchema); 
mongoose.model('topics','categories', TopicSchema) 
mongoose.model('articles','categories', ArticlesSchema) 

它創建了2個名爲主題和文章,我不想要的集合。 這是我的問題,現在,任何人都可以建議我幫助.....謝謝....

+0

你必須定義3種型號3模式 – chirag

回答

7

試戴

mongoose.model('category', CategorySchema, 'categories'); 
mongoose.model('topics', TopicSchema, 'categories'); 
mongoose.model('articles', ArticlesSchema, 'categories'); 

如文檔中提到:http://mongoosejs.com/docs/api.html#index_Mongoose-model

貓鼬#模型(名稱,[模式],[集合],[skipInit])

定義模型或檢索模型。

參數:

  • 1 PARAM - 命名<字符串>型號名稱
  • 第二個參數:param - [方案] <模式>架構名稱
  • 第三個參數 - [收藏] <字符串>集合名稱(可選,從型號名稱中產生)
  • 第4參數 - [skipInit] <布爾型>是否跳過初始alization(默認爲false)

見 - https://stackoverflow.com/a/14454102/3896066

+0

謝謝................. – MMR