0

我想创建一个多媒体评论系统,让人们不仅可以在文本中创建评论,还可以在音频中创建评论。

我打算用mongodb作为数据库,只是想设计一个这样的简单结构在mongodb中实现,其中AudioComment存储音频的地址,真正的音频存储在GridFS中

var Content = mongoose.Schema({
    title  :  { type: String }
  , content: { type: String }
  , comments:  [TextComment / AudioComment ]

});
var TextComment = mongoose.Schema({
    name  :  { type: String }
  , date  :  { type: Date, default: Date.now }
  , text  :  String 
  , slug  :  {type:String, index:true}
});
var AudioComment = mongoose.Schema({
    name  :  { type: String }
  , date  :  { type: Date, default: Date.now }
  , audio_ref:  String 
  , slug  :  {type:String, index:true}
})

我的问题是我可以用这种方式设计架构吗,评论:[TextComment / AudioComment],评论数组可以接受 TextComment 结构或 AudioComment 结构吗?

我以前的经验说猫鼬很难。

4

1 回答 1

0
var Content = mongoose.Schema({
        title  :  String,
        content: String,
        comments:  {type: this.mongoose.Schema.Types.ObjectId, ref: 'AudioComment'}
...

但我不知道如何在同一领域切换类型。你可以使用这个语法,我觉得它更清楚。

于 2013-11-20T14:05:17.040 回答