如何在猫鼬中编写键值对对象模式

Posted

技术标签:

【中文标题】如何在猫鼬中编写键值对对象模式【英文标题】:How to write a key-value pair object Schema in mongoose 【发布时间】:2021-07-03 06:33:38 【问题描述】:

我已经努力创建这样的架构,但还没有找到解决方案。

我试图做这样的事情。

 questions: 
    type: new Schema(
      questionId: 
        type: String,
      ,
      correct: 
        type: Boolean,
      ,
    ),
  ,

我需要的输出是:

questions: 
  [questionId1]:[boolean],
  [questionId2]:[boolean]

例子:

questions:
 23:true,
 29:false

提前致谢。

【问题讨论】:

我认为我需要使用 type:Map 但不知道如何在我的情况下使用它。 【参考方案1】:

正如 saksh73 已经指出的那样(https://mongoosejs.com/docs/schematypes.html#maps),可以使用 Map 来完成架构

const Example = new Schema(
    // your stuff
    questions: 
        type:Map,
        of: Boolean
    
);

【讨论】:

【参考方案2】:

您可以使用以下方法添加布尔键值对:

const abc = new Schema(
      questionId: 
        type: Map,
        of:Boolean
      ,
);

如果你想要一个对象而不是布尔值......你可以这样做:

const abc = new Schema(
      questionId: 
        type: Map,
        of:new Schema(
          id: Number,
          title: String,
        ),
      ,
);

【讨论】:

以上是关于如何在猫鼬中编写键值对对象模式的主要内容,如果未能解决你的问题,请参考以下文章

关于如何在猫鼬中编写评论模式的任何想法?

如何在猫鼬中更新嵌套数组值

如何在猫鼬中异步填充嵌套对象?

如何在猫鼬中为 geojson 数据创建模式?

如何在猫鼬中进行原始 mongodb 操作?

如何在猫鼬中进行原始 mongodb 操作?