mongodb模式中具有不同对象类型的数组

时间:2019-12-02 11:17:50

标签: javascript node.js mongodb mongoose

我正在使用node.js和mongoose开发我的应用程序。我有一个名为categories的架构,它包含一个名为content的密钥,我需要为其分配不同类型的对象,例如波纹管。

const categorySchema = new Schema({
  label: { type: String, required: true },
  content: [
         { type: Schema.Types.ObjectId, ref: "Videos" },
         { type: Schema.Types.ObjectId, ref: "Games" }
       ]
});

所以打字稿中的对象类型应该是

content: Array<VideosType | GamesType>

你知道我该怎么做吗?

2 个答案:

答案 0 :(得分:0)

您可以使用Schema.Types.Mixed https://mongoosejs.com/docs/schematypes.html#mixed

const categorySchema = new Schema({
  label: { type: String, required: true },
  content: [{ type: Schema.Types.Mixed }]
}); 

答案 1 :(得分:0)

如果您有多种类型,那么您可以创建一个混合类型的数组,该数组实际上将接受该数组中的任何类型。

content: Array