为什么要在猫鼬架构中嵌套对象

Why nest objects in a Mongoose schema?

本文关键字:嵌套 对象 为什么      更新时间:2023-09-26

下面的片段取自猫鼬文档。我的问题是为什么要把投票和收藏夹放在"元"下。为什么不将它们与作者、正文、评论等放在同一水平上?

像下面这样做有什么好处吗?有什么缺点吗?

var blogSchema = new Schema({
title:  String,
  author: String,
  body:   String,
  comments: [{ body: String, date: Date }],
  date: { type: Date, default: Date.now },
  hidden: Boolean,
  meta: {
    votes: Number,
    favs:  Number
  }
});
这只是

一个设计决策。这是最短的答案。

我会说他们把投票和收藏夹放在一个相关的对象中,因为它们是某种统计数据,如果你考虑"统计",在面向对象的编程中,"统计"或"元"必须是一个对象。