在Mongoose变量中嵌套数据

时间:2018-11-30 19:10:05

标签: mongoose mongoose-schema

如何在Mongoose模式中也具有嵌套变量的声明变量类型?如果可能的话,创建对象时向其中添加数据的正确方法是什么。

该模式由Mongoose Docs提供,我对如何添加数据和/或声明“元”变量的类型感到困惑。

var Comments = new Schema({
    title     : String
  , body      : String
  , date      : Date
});

var BlogPost = new Schema({
    author    : ObjectId
  , title     : String
  , body      : String
  , date      : Date
  , comments  : [Comments]
  , meta      : {
        votes : Number
      , favs  : Number
    }
});

mongoose.model('BlogPost', BlogPost);

1 个答案:

答案 0 :(得分:0)

meta是对象类型。它具有两个属性votesfavs,它们都是数字。如果要使用meta创建博客文章,则非常简单:

new BlogPost({
  title: 'new blog post',
  body: 'nice SEO'
  meta: {
    votes: 3,
    favs: 1
  }
})

如果您想在声明时更加明确,则可以这样声明meta:

meta: {
  type: Object,
  votes : Number,
  favs  : Number
}