通过 mongoose 为 mongodb 中集合的文档中的每个嵌套对象创建 ID

Posted

技术标签:

【中文标题】通过 mongoose 为 mongodb 中集合的文档中的每个嵌套对象创建 ID【英文标题】:Id is created for every nested objects in documents of a collection in mongodb via mongoose 【发布时间】:2021-01-13 14:57:57 【问题描述】:

我有一个用户架构。在保存文档时,对于文档中的每个嵌套对象(quizHistory、record 和响应),猫鼬会自动添加 _id 字段。 For ref- quizHistory path

const userSchema = new Schema(
    firstName:  type: String, required: true ,trim:true,
    lastName: type: String, required: true ,trim:true,
    email:  type: String, unique: true, required: true ,
    isUser:  type: Boolean, default: true ,
    password: String,
    quizHistory: [
        quizId:  type: Schema.Types.ObjectId, ref: 'Quiz' ,
        record: [
            recordId: type: Number,
            startTime:  type: Date ,
            responses: [
                quesId:  type: Schema.Types.ObjectId, ref: 'Question' ,
                answers: [Number]
            ],
            score: Number
        ],
        avgScore: Number
    ]
)

【问题讨论】:

【参考方案1】:

Mongoose 默认创建虚拟 id(guide id)。 将此行添加到您的架构中。

 _id : id:false

【讨论】:

以上是关于通过 mongoose 为 mongodb 中集合的文档中的每个嵌套对象创建 ID的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB/Mongoose 一对多,在子节点中引用父节点 - 分组并加入

C#中集合的使用--ArrayList

Scala中集合类型与java中集合类型转换

如何在 mongodb 中自动插入记录(nodejs、express、mongoose)

为 Symfony 2 中集合的每个项目指定不同的验证组?

如何计算 Firestore 中集合下的文档数?