在 Mongoose 变量中嵌套数据

Nesting Data in Mongoose variable

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

此架构由 Mongoose 文档提供,我对如何添加数据和/或声明 'meta' 变量的类型感到困惑。

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);

元是对象类型。它有 2 个属性,votesfavs,它们都是数字。如果你想用 meta 创建博客 post,很简单:

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

如果你想在声明时更加明确,你可以这样声明元数据:

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