mongoose – 使用单个集合的多个模式
我试图计划我的api,例如:
/animals // returns all animals /animals/dogs // returns all dogs /animals/cats // returns all cats /animals/dogs/:id // returns dog
所以,我有“猫”和“狗”的单独模型,因为它们将包含独特的属性,但都使用“动物”模式作为基础插件。
所以我的问题是关于在哪里存储数据,我的select是:
1)单一收集 – 在一个集合中存储猫和狗,这将使得通过单个查询获得“/动物”的数据相对容易
2)多个集合 – 将猫和狗存储在单独的集合中,这将使得数据存储更加合理,但是当获取“/动物”的数据将需要多个查询和数据串联时。
还有其他的select,我错过了,或者一个首选的方法?
谢谢
mongodb的好处在于它是无模式的。 听起来像这正是你所需要的。 我会考虑使用简单的节点 – mongodb-native ,并将所有动物存储在一个集合中。
您提到的选项是针对您的问题最合适的方法。
对于您的具体情况,如果每个模型的独特属性不是那么大的方式1将所有的数据存储在一个集合和查询容易。
否则,如果你的模型有点沉重,并且有很多属性将它们分离到不同的集合中,并通过它们各自的模型来查询它们。这似乎还有更多的工作要做,但至less会给你更多的抽象和灵活性来操纵重型模型。 含义与选项2一起 。
- 如何在mongoose中使用更多的$ group
- Dreamhost vps nodejs和mongodb不会启动
- 如何获得一个蒙古collections的孩子的关键?
- Node.js + Mongoose.js如何获取命令的总和是放在一个月还是一个星期?
- 在Mongoose中,如何在具有.create(),.id()和.remove()function的模型中创buildMongooseArray / Collection
- Mongoose setDefaultsOnInsert和2dsphere索引不起作用
- 在定时器+一个条件上删除logging
- MongoDB – 插入,如果它不存在,否则跳过
- 先按nullsorting