node.js – Mongoose – 使用单个集合的多个模式

我正在尝试计划我的api,例如:

/animals           // returns all animals
/animals/dogs      // returns all dogs
/animals/cats      // returns all cats
/animals/dogs/:id  // returns dog

所以,我有’cat’和’dog’的单独模型,因为它们将包含独特的属性,但是它们都使用’animal’模式作为基础插件.

所以我的问题是关于存储数据的位置,我的选择是:

1)单个收集 – 将猫和狗存储在一个集合中,这将使得通过单个查询获得’/ animals’的数据相对容易

2)多个集合 – 将猫和狗存储在单独的集合中,这将使数据存储更加合理,但是当获取“/ animals”的数据时,将需要多个查询并连接该数据.

我还有其他任何选择,或者首选方法吗?

谢谢

解决方法

您提到的选项是解决您问题的最合适方法.

对于您的特定情况,如果每个模型的唯一属性不是那么大的方式1将所有数据存储在单个集合中并轻松查询.

否则,如果你的模型有点沉重,并且有很多属性将它们分成不同的集合并通过它们各自的模型进行查询.这个似乎还有更多工作要做,但至少会给你更多抽象和灵活性来操纵重型模型.意思是选项2.

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...