汇总2个嵌套子文档在同一文档中的输出?

时间:2018-06-24 11:42:48

标签: mongodb mongoose aggregation-framework mongoose-schema

我想将输出作为注释及其相应的重播放在同一数组中。只需将基于commentId的相应重放作为注释的双嵌套数组输出即可。

经过如此多的更改后,我终于为该模式进行了修复,并且运行良好,因此我需要此模式设计的解决方案。

或者建议我其他更好的方法。

 const CommentsSchema = mongoose.Schema({
  comments: [ 
    {
      by:{
        type: mongoose.Schema.Types.ObjectId,
        ref: 'UserinfoSchema',
        required: true 
      },
      comment:{
        type: String 
      },
      replays: { 
        type: Number,
        default: 0 
      },
      commentedAt:{
        type: Date,
        default: Date.now
      },
      updatedAt: { 
        type: Date 
      },
    required: false
    }
  ],
  replays:[
    {
      by:{
        type: mongoose.Schema.Types.ObjectId,
        ref: 'UserinfoSchema',
        required: true  
      },
      comment: { type: String },
      commentId: { 
        type: mongoose.Schema.Types.ObjectId,
        ref: 'PostCommentsSchema',
        required: true  
       },
      commentedAt: { type: Date, default: Date.now },
      updatedAt: { type: Date },
    required: false
    }
  ]    
})

0 个答案:

没有答案