2

我遇到了三种不同的“加入”集合的方式:

  1. 手动保留对您希望加入目标集合的集合的“外键-esk”引用
  2. 使用DBRefs
  3. 编写一系列Map/Reduce函数来维护关系

有人可以解释每个人的好处和我应该什么时候吗?

我的第一印象是 Map/Reduce 用于大型、常用的集合,而另外两个主要用于小型/快速查询。

4

1 回答 1

1

抱歉回复晚了 - 这是一个用猫鼬编写的嵌入式文档的简单示例:

var postSchema = new Schema({
  author : {type : String}, 
  title : {type : String, require : true},
  content : {type : String, require : true},
  comment : {
    owner : {type : String},
    subject : {type: String, require},
    content : {type String, require}
  }
});  

这里的文档是 postSchema(它是模式,但我想你知道我的意思)。评论嵌入的
文档,您可以看到它是在帖子中定义的对象。 好处是您每次调用 post 时都会收到评论,而无需额外查询,但是如果您有很多评论,它会使 post 文档变得非常大!

于 2013-06-19T13:09:56.357 回答