如何在猫鼬模式中定义动态对象字段的ObjectId类型?

时间:2020-10-13 05:44:56

标签: mongodb mongoose

当前架构如下:

const schema = new mongoose.Schema(
    filters: {
        type: Object,
        default: {}
    }
);

样本输入文档:

{
  filters: {
    field1: "5a934e000102030405000001",
    field2: "5a934e000102030405000002",
    field3: "5a934e000102030405000003"
  }
}

filters字段将存储动态字段,但是所有字段都是ObjectId s,我需要所有字段都在数据库中键入ObjectId,而不仅是字符串类型,

当前,当我在数据库中保存文档时,我必须使用mongoose.Types.ObjectId字段中的filters将所有字​​符串ObjectId转换为Type ObjectId,并且我希望当在基础上保存文档时,它将由猫鼬自动转换类型。

有什么方法可以定义动态对象字段的ObjectId类型?

我期望这样的事情:

const schema = new mongoose.Schema(
    filters: {
        type: {
          *: mongoose.Types.ObjectId
        }
    }
);

0 个答案:

没有答案