Mongoose:模式中的交替模式

时间:2016-05-04 16:25:29

标签: mongoose mongoose-schema

使用mongoose,我试图定义模式:

var BookSchema = new Schema({
  author: String
});

var CarSchema = new Schema({
  color: String
});

var ProductSchema = new Schema({
  title: String,
  type: String
});

我希望根据product字段的值,在car架构或book架构中包含type。因此,最终结果将如下所示:

[{
  title: 'Think and grow rich',
  type: 'book',
  book: {author: 'Napoleon Hill'}
}, {
  title: 'Toyota corolla',
  type: 'car',
  car: {color: 'red'}
}]

到目前为止,我发现了两个选项,两者都不是最佳选择:

  1. car每个book中包括productMixed
  2. product内使用<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> <xsl:template match="/Node"> <status> <xsl:value-of select="boolean(parent[child=1])" /> </status> </xsl:template> </xsl:stylesheet> 架构类型。
  3. 还有其他选择吗?

1 个答案:

答案 0 :(得分:0)

这可以使用鉴别器来完成: http://mongoosejs.com/docs/discriminators.html