2016-10-17 120 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