产品系统的mongoose根据产品types具有不同的属性
我正在构build一个小的产品系统,试图让我进入Node.js,Mongo等等。 我被Mongo吸引到了将不同types的产品存储在同一个集合中的可能性,而不是将多个表,eav或者任何其他不太适合的MySQL方法。
我正在阅读教程,刚开始写了一个产品模型的提供者,但后来有人build议我应该使用mongoose。
但是,Mongoose的问题似乎是我需要为每个模型设置模式。 我的第一个想法是,产品应该有一个title
和一个type
属性。 然后type
将决定整体产品结构。 因此,例如dvd
产品可能有导演,而t-shirt
产品不会有导演,但会有不同的尺寸。
是否有可能在Mongoose中实现这种结构,以及如何实现? 这是我的理解,如果我提供每个产品types的架构,我将无法同时查询它们? 不同的模式是不同的收集? – 我不明白这一点。
任何帮助和指导的赞赏,希望能够使用框架,而不是写自己的数据库处理(虽然那是我最初打算做什么,但如果别人已经做得比我好:))
mongoose有一个无模式的types,可以在你的情况下非常有用,但可能不是最好的解决scheme。
ProductSchema = new Schema({any:{}});
如果你改变这个对象的任何东西,你需要在保存之前用obj.markModified('field-name')通知Mongoose它。
我的build议是使用你自己的包装节点mongodb本地 ,我运行生产7〜8个月没有问题。
还有另外一个叫做mongous的库 ,你可以检查一下。