微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐